实验七简单的服务器、客户端程序实验报告

实验七简单的服务器、客户端程序实验报告

ID:37758062

大小:120.50 KB

页数:10页

时间:2019-05-30

实验七简单的服务器、客户端程序实验报告_第1页
实验七简单的服务器、客户端程序实验报告_第2页
实验七简单的服务器、客户端程序实验报告_第3页
实验七简单的服务器、客户端程序实验报告_第4页
实验七简单的服务器、客户端程序实验报告_第5页
资源描述:

《实验七简单的服务器、客户端程序实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、洛阳理工学院实验报告系别计算机系班级B120503学号B12050316姓名段浴课程名称计算机网络实验日期2014/11/8实验名称简单的客户/服务器程序设计与实现成绩实验目的:1、熟悉MicrosoftVisualStudio2008编程环境。2、了解TCP与UDP协议,以及它们之间的区别。3、了解客户/服务器模型原理。4、熟悉Socket编程原理,掌握简单的套接字编程。实验条件:硬件:PC机(两台以上)、网卡、已经设定好的以太网环境软件:MicrosoftVisualStudio2008实验原理:1、编

2、写用TCP协议实现的Client端和Server端程序并调试通过。Socket()建立流式套接字,返回套接字号。客户方bind(),套接字s与本地地址相连。Socket(),建立流失套接字,返回套接字号listen(),通知TCP,服务器准备好接收连接。accept(),接受连接,等待客户端的连接...connect(),将套接字s与远地主机连接连接建立,accept()返回,得到新的套接字,scsend()/recv(),在套接字上读/写数据,直到数据交换完recvt()/send(),在套接字sc上读/

3、写数据,直到数据交换完毕closesocket(),关闭套接字结束TCP对话closesocket(),关闭最初套接字s,服务结束closesocket(),关闭套接字sc10/10程序分两部分:客户程序和服务器程序。工作过程是:服务器首先启动,它创建套接字之后等待客户的连接;客户启动后创建套接字,然后和服务器建立连接;建立连接后,客户接收键盘输入,然后将数据发送到服务器,服务器收到到数据后,将接收到的字符在屏幕上显示出来。或者服务器接收键盘输入,然后将数据发送到客户机,客户机收到数据后,将接收到的字符在屏

4、幕上显示出来。2、编写用UDP协议实现的Client端和Server端程序并调试通过(做完第一个实验的基础上做该实验)。服务器方客户方Socket()建立流式套接字,返回套接字号。Socket(),建立流失套接字,返回套接字号bind(),套接字s与本地地址相连。将套接字与远地主机连接send()/recv(),在套接字上读/写数据,直到数据交换完recvt()/send(),在套接字上读/写数据,直到数据交换完毕closesocket(),关闭套接字结束UDP对话closesocket(),关闭套接字3、

5、编写用TCP协议实现Client端与Server端的一段对话程序。Server端根据用户的输入来提示Client端下一步将要进行操作。10/10实验内容:Sever端代码://server.cpp:定义控制台应用程序的入口点。#include#include#include#include#pragmacomment(lib,"WS2_32")SOCKETsock1,sock2;intsin_size;structsockad

6、dr_inmy_addr,their_addr;charname[20];//初始化函数TcpvoidInit(){printf("Server:TCP");//建立套接字constWORDwMinver=0x0101;WSADATAwsadata;if(0!=::WSAStartup(wMinver,&wsadata))perror("Startsocketerror!");if(INVALID_SOCKET==(sock1=::socket(AF_INET,SOCK_STREAM

7、,0)))perror("Createsocketerror!");my_addr.sin_family=AF_INET;my_addr.sin_addr.S_un.S_addr=INADDR_ANY;my_addr.sin_port=htons(1000);if(SOCKET_ERROR==::bind(sock1,(structsockaddr*)&my_addr,sizeof(my_addr))){perror("Bindingstreamsocket");exit(1);}//开始侦听if(SOCK

8、ET_ERROR==::listen(sock1,5)){perror("Listeningstreamsocket");exit(1);10/10}//接受连接printf("Readytoserveclient.Pleaseconnect...");sin_size=sizeof(structsockaddr_in);if((sock2=accept(sock1,(structsockaddr*)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。