网络原理socket程序

网络原理socket程序

ID:41118587

大小:55.00 KB

页数:4页

时间:2019-08-16

网络原理socket程序_第1页
网络原理socket程序_第2页
网络原理socket程序_第3页
网络原理socket程序_第4页
资源描述:

《网络原理socket程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《计算机网络原理》试验报告学号XXXXXXXX姓名xxxxxxxxxxx专业班级XXXXXxxxxx完成时间2011-4-25实验二socket编程一、实验目的本次实验的目的是通过利用Socket编写简单的客户/服务器程序,了解TCP/IP网络的基本通信原理和编程方法,初步掌握TCP/IP网络的传输层上的编程接口(WindowsSocketsAPI),学会利用这些接口来编写简单的网络通信软件。二、实验内容利用socket编写简单的客户/服务器程序,比如聊天室、文件传输等。三、实验步骤Ø思路分析²将服务器与客户端分两部分实现,采用多线程实现多个客户端与服务器端连接²客户端建立一个S

2、ocket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。²服务器端通过创建一个Socket的Arraylist数组,与指定的本地端口绑定,就可以在端口进行侦听。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。Ø代码实现Ø初始化socketBOOLCChatDlg::InitiSocket(){m_socket=socket(AF_INET,SOCK_DGRAM,0);SOCKADDR_INaddSrv;addSrv.sin_addr.S_un.S_addr=htonl(INA

3、DDR_ANY);addSrv.sin_family=AF_INET;addSrv.sin_port=htons(6000);bind(m_socket,(SOCKADDR*)&addSrv,sizeof(SOCKADDR));returnTRUE;}DWORDWINAPICChatDlg::recvProc(LPVOIDlpParameter){SOCKETsock=((MYDATA*)lpParameter)->socket;HWNDhwnd=((MYDATA*)lpParameter)->hwnd;SOCKADDR_INaddFrom;intlen=sizeof(SOCKA

4、DDR);CHARrecvBuf[100];CHARtempBuf[100];while(TRUE){recvfrom(sock,recvBuf,200,0,(SOCKADDR*)&addFrom,&len);sprintf(tempBuf,"%ssay:%s",inet_ntoa(addFrom.sin_addr),recvBuf);::PostMessage(hwnd,WM_RECVMSG,0,(LPARAM)tempBuf);}return0;}接收消息VOIDCChatDlg::dealWithRecv(WPARAMwParam,LPARAMlParam){CString

5、str=(CHAR*)lParam;CStringstrTemp;GetDlgItemText(IDC_EDIT_RECV,strTemp);str+="r";str+=strTemp;SetDlgItemText(IDC_EDIT_RECV,str);}发送消息voidCChatDlg::OnButtonSend(){//TODO:AddyourcontrolnotificationhandlercodehereDWORDip;((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS))->GetAddress(ip);SOCKADDR_INa

6、ddSend;addSend.sin_addr.S_un.S_addr=htonl(ip);addSend.sin_family=AF_INET;addSend.sin_port=htons(6000);CStringstrSend;GetDlgItemText(IDC_EDIT_SEND,strSend);sendto(m_socket,strSend,100,0,(SOCKADDR*)&addSend,sizeof(SOCKADDR));SetDlgItemText(IDC_EDIT_SEND,"");}试验截图:一、实验结果实现了基本的点对点的聊天二、实验心得对于编写soc

7、ket的程序,现在我们要做的真的已经和简单了,就是调用几个封装好的库函数,但这库函数后面的实现我觉得才是值得我们好好学习的精髓。

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

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

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