VC套接字编程(2)

VC套接字编程(2)

ID:39469611

大小:368.00 KB

页数:12页

时间:2019-07-04

VC套接字编程(2)_第1页
VC套接字编程(2)_第2页
VC套接字编程(2)_第3页
VC套接字编程(2)_第4页
VC套接字编程(2)_第5页
资源描述:

《VC套接字编程(2)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VCAPI套接字编程VC套接字编程一、服务器端1、创建对话框工程SockServ-46-VCAPI套接字编程在上面的图上设置好后,点击“Filish”按钮。2、为工程的对话框类CSockServDlg添加一个套接字变量转到类视图-46-VCAPI套接字编程3、为对话框添加控件并设置相应的属性先转到资源视图中,选中对话框资源-46-VCAPI套接字编程对话框资源视图资源视图界面如图一个Static,一个编辑框,一个按钮主要控件的属性设置如下(设置方法为选中控件,点击鼠标右键----)属性)(1)按钮(2)编辑框

2、-46-VCAPI套接字编程4、添加与编辑框关联的侦听端口变量m_Port类视图-46-VCAPI套接字编程添加变量编辑框视图变量类型变量名5、添加按钮的消息映射(其它开发工具叫做事件)-46-VCAPI套接字编程双击OnOK将转到对话框类的代码视图中按钮消息的处理过程6、添加代码(在对话框的实现文件SockServDlg.cpp中)(1)对话框初始化函数中的代码BOOLCSockServDlg::OnInitDialog(){//……WSADATAwsaData;-46-VCAPI套接字编程WORDvers

3、ion=MAKEWORD(2,0);intret=WSAStartup(version,&wsaData);//初始化套接字if(ret!=0)MessageBox("初始化套接字失败","错误提示");returnTRUE;}(2)按钮单击消息的处理代码voidCSockServDlg::OnOk(){//套接字不为空时,先关闭套接字if(m_hSocket!=NULL){closesocket(m_hSocket);m_hSocket=NULL;}if(m_hSocket==NULL){m_hSocket

4、=socket(AF_INET,SOCK_STREAM,0);//创建套接字}UpdateData(TRUE);//变量与控件的数据交换//下面的代码用于设定本地的地址信息,保存到结构a中sockaddr_ina;a.sin_family=AF_INET;a.sin_addr.S_un.S_addr=INADDR_ANY;a.sin_port=htons(m_Port);intret=0;interr=0;ret=bind(m_hSocket,(LPSOCKADDR)&a,sizeof(a));//绑定套接字

5、if(ret==SOCKET_ERROR){MessageBox("绑定错误","错误提示");return;}ret=listen(m_hSocket,2);//开始侦听,缓冲区为2if(ret==SOCKET_ERROR){TRACE("侦听错误");return;}intcount=0;while(true){SOCKETs=accept(m_hSocket,NULL,NULL);//接受客户端的连接请求-46-VCAPI套接字编程if(s==SOCKET_ERROR){MessageBox("创建会话

6、套接字错误","错误提示");return;}count=count+1;//计数器加1//格式化字符串CStringstr;str.Format("你是第%d个访客",count);char*buff=str.GetBuffer(0);ret=send(s,buff,str.GetLength(),0);if(ret!=str.GetLength()){MessageBox("数据发送失败","错误提示");return;}closesocket(s);//关闭套接字UpdateData(TRUE);}}二

7、、客户端的设计1、创建对话框工程ClientServ,方法同服务器端第1步骤2、为对话框添加控件并设置相应的属性界面如图2个Static,2个编辑框,一个按钮主要控件的属性设置如下(设置方法为选中控件,点击鼠标右键----)属性)(1)按钮-46-VCAPI套接字编程(2)编辑框3、添加与编辑框关联的服务器端口变量m_Port及服务器IP地址的变量M_IP方法类似于服务器段的第4步最后设置结果为:(注意变量的类型)-46-VCAPI套接字编程4、添加按钮的消息映射(同服务器端的第5步)5、添加代码(1)对话框

8、初始化函数中的代码BOOLCSockServDlg::OnInitDialog(){//……WSADATAwsaData;WORDversion=MAKEWORD(2,0);intret=WSAStartup(version,&wsaData);if(ret!=0)MessageBox("初始化套接字失败","错误提示");returnTRUE;}(2)按钮单击消息的处理代码(连接服务器)voidC

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

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

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