TCPIP大作业-基于Socket的网络通信

TCPIP大作业-基于Socket的网络通信

ID:38584291

大小:900.94 KB

页数:29页

时间:2019-06-15

TCPIP大作业-基于Socket的网络通信_第1页
TCPIP大作业-基于Socket的网络通信_第2页
TCPIP大作业-基于Socket的网络通信_第3页
TCPIP大作业-基于Socket的网络通信_第4页
TCPIP大作业-基于Socket的网络通信_第5页
资源描述:

《TCPIP大作业-基于Socket的网络通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录编号TCP/IP协议与网络编程期末大作业题目:基于Socket的网络通信物联网工程学院计算机科学与技术专业学号学生姓名任课教师二〇一六年五月26目录摘要此TCP/IP课程设计实现了基于TCP的客户/服务器通信程序,具体实验过程通过有连接服务为主体,无连接服务为辅并利用事件对象I/O管理来实现。客户机具有注册,登陆,单聊,私聊,退出等功能。关键词:TCP/IP、有连接、、通信程序26目录目录第1章总体设计2第2章客户端设计42.1发送端设计42.11流程图42.12代码52.2接收端设计122.21流程图122.22代码12第3章服务器设计183.1流程图183.2代码18第

2、4章运行结果2526硬件结构设计第1章总体设计1、基本通信协议选取TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)协议属于传输层协议。TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。而UDP则不为IP提供可靠性、流控或差错恢复功能。TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。本次实验基于TCP/IP协议利用事件对象I/O管理实现基本的聊天功能,包括注册,登录,群聊,私聊及在线人数

3、统计。2、通信过程设计2.1客户端设计a.本地服务器主要功能:1)接收远程服务器转发的消息并显示消息。b.本地客户端主要功能:1)发送建立TCP连接的请求操作;2)发送注册信息,登陆消息及退出请求;3)发送群聊消息,私聊消息,在线人数统计及退出请求。2.2服务器端设计a.远程服务端主要功能:1)监听客户端的连接请求;2)提供注册服务,验证登陆请求和验证功能;3)查看在线人数,发送在线状态;4)发送群聊消息及私聊消息。26硬件结构设计3、程序流程图26硬件结构设计第2章客户端设计2.1发送端设计2.11流程图26硬件结构设计2.12代码#include#i

4、nclude#include#pragmacomment(lib,"Ws2_32.lib")#defineBUFFER_SIZE1024voidMySendMessage(SOCKETsSocket,char*response,intresponseLen);intmain(intargc,char**argv){WSADATAwsaData;sockaddr_inser,cli;SOCKETsClient,wchysClient;intiLen,wchyiLen;intiRecv;charsend_buf[1000];charrecv_b

5、uf[BUFFER_SIZE];if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){printf("WSAStartup()");return0;}printf("手动连接模式中....");charszServer[256];//连接的服务器地址,IP地址printf("请输入即将连接的服务器IP地址:");gets(szServer);ser.sin_family=AF_INET;ser.sin_port=htons(5050);ser.sin_addr.s_addr=inet_addr(szServer);charuser[20],

6、password[20];charstr[100],str1[100],wchystr[100];boolhasLogin=false;//只能绑定一次,开始放在了循环里,555wchysClient=socket(AF_INET,SOCK_DGRAM,0);26硬件结构设计if(wchysClient==INVALID_SOCKET){printf("socket()Faild:%d",WSAGetLastError());return0;}cli.sin_family=AF_INET;cli.sin_port=htons(5053);cli.sin_addr.s_add

7、r=htonl(INADDR_ANY);if(bind(wchysClient,(LPSOCKADDR)&cli,sizeof(cli))==SOCKET_ERROR){printf("bind()Faild:%d",WSAGetLastError());return0;}wchyiLen=sizeof(cli);memset(recv_buf,0,sizeof(recv_buf));sClient=socket(AF_INET,SOCK_STREAM,0);if(sClient==IN

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

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

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