基于TCPIP协议的CS通信

基于TCPIP协议的CS通信

ID:41582373

大小:58.39 KB

页数:4页

时间:2019-08-28

基于TCPIP协议的CS通信_第1页
基于TCPIP协议的CS通信_第2页
基于TCPIP协议的CS通信_第3页
基于TCPIP协议的CS通信_第4页
资源描述:

《基于TCPIP协议的CS通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、系统功能描述:在同一台机器上,首先启动服务器,然后启动客户端,服务器和客户端都是基于对话框的应用程序!(1)•当客户端启动后,向服务器发出连接请求,服务器接到请求后向客八端发送“连接请求已被接受”的应答消息,然后在服务器对话框里的编辑框中显示刚才请求连接的客户端的IP和请求发生的时间。注:对客户端用户发送的数据暂时不进行处理。(2).在客户端,先显示服务器的提示消息,然后将B己发送的内容也显示在客户端对话框的编辑框中。问题描述:启动服务器和客户端,当客户端发送数据后服务器没一点反应。可惜这里不能粘贴木地图片,我想把那两个对话框的图发上来的……(一)

2、客户端的发送按钮响应函数:voidCClientDlg::OnClientsend(){〃创建客户端套接字SOCKETsockClicnt=sockct(AF_INET,SOCK_STREAM,0);〃目标服务器地址SOCKADDRJNaddrSrv;addrSrv.sin_addr.S_un.S_addr=inct_addr("127.0.0.1");addrSrv.sin_family=AF_INET;addrSrv.sin_port=50000;〃向服务器发出连接请求conncct(sockClicnt,(sockaddr*)&addrSrv

3、,sizcof(addrSrv));〃接收服务器的捉示消息charrecvBuf[45J;recv(sockClient,recvBuf,45,0);〃在客户端信息框中显示服务器应答信息SetDlgItemText(IDC_EDIT1,recvBuf);〃向服务器发送数据charsendBuf[50];GetDlgItemText(lDC_SENDTEXT,sendBuf,50);send(sockClient,sendBuf,strlen(sendBuf)+l,0);〃在客户端显示发送的信息CStringclientStr;GetDlgItemT

4、ext(lDC_EDIT1,clientStr);clicntStr+=nrH;CStringstrTemp;GetDlgItemText(lDC_SENDTEXT,strTemp);clientStr+=strTemp;SctDlgItcmTcxt(IDC_EDITl,clicntStr);〃清空发送框内容SetDlgItemText(IDC_SENDTEXT,nn);}(二)服务器1.〃创建并初始化套接字BOOLCScrvcrDlg::InitSockct(){〃创建套接字m_socket=socket(AF_INET,SOCK_STRE

5、AM,0);structsockaddr_inaddrSrv;addrSrv.sin_family=AF_INET;addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);addrSrv.sin_port=htons(50000);〃绑定套接字bind(m_socket,(sockaddr*)&addrSrv,sizeof(addrSrv));〃监听listen(m_socket,5);returnFALSE;}2.在CServerDlg::OnInitDialog()函数的返回语句询加了这些初始化语句Init

6、Socket();〃调用上面的套接字初始化函数RECVPARAM*pRecvParam=newRECVPARAM;//RECVPARAM是一个结构体,有两个成员,用来向线程函数提供参数pRecvParam->sock=m_socket;pRccvParam->hwnd=m_hWnd;//创建接收线程HANDLEhThrcad=CrcatcThrcad(NULL,0,RccvProc,(LPVOID)pRccvParam,0,NULL);〃关闭接收线程,释放引用计数CloseHandle(hThread);2.这个就是接收客户端请求的线程DWORDW

7、INAPICScrvcrDlg::RccvProc(LPVOIDIpParamctcr){〃获取主线程传递的套接字和窗口句柄SOCKETsock=((RECVPARAM*)lpParameter)->sock;HWNDhwnd=((RECVPARAM*)lpParameter)->hwnd;deleteIpParamctcr;〃保存客户端地址structsockaddr_inaddrClient;intlen=sizeof(sockaddr);〃等待客八端请求到來while(1){SOCKETsockConn=accept(sock,(sockad

8、dr*)&addrClient,&len);〃向客户端发送请求已经接受的消息charsendBuf[45]=MYourre

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

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

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