- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vcsocket通信.
vc socket通信
技术_通信编程 2009-08-07 15:45:11 阅读591 评论0 字号:大中小
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。
服务器端编程的步骤:
1:加载套接字库,创建套接字(WSAStartup()/socket());
2:绑定套接字到一个IP地址和一个端口上(bind());
3:将套接字设置为监听模式等待连接请求(listen());
4:请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept());
5:用返回的套接字和客户端进行通信(send()/recv());
6:返回,等待另一连接请求;
7:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。
服务器端代码如下:
#include?stdio.h
#include?Winsock2.h
void?main()
{
?WORD?wVersionRequested;
?WSADATA?wsaData;
?int?err;
?
?wVersionRequested?=?MAKEWORD(?1,?1?);
?
?err?=?WSAStartup(?wVersionRequested,?wsaData?);
?if?(?err?!=?0?)?{
??return;
?}
?
?if?(?LOBYTE(?wsaData.wVersion?)?!=?1?||
????????HIBYTE(?wsaData.wVersion?)?!=?1?)?{
??WSACleanup(?);
??return;
?}
?SOCKET?sockSrv=socket(AF_INET,SOCK_STREAM,0);
?SOCKADDR_IN?addrSrv;
?addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
?addrSrv.sin_family=AF_INET;
?addrSrv.sin_port=htons(6000);
?
?bind(sockSrv,(SOCKADDR*)addrSrv,sizeof(SOCKADDR));
?listen(sockSrv,5);
?SOCKADDR_IN?addrClient;
?int?len=sizeof(SOCKADDR);
?while(1)
?{
??SOCKET?sockConn=accept(sockSrv,(SOCKADDR*)addrClient,len);
??char?sendBuf[50];
??sprintf(sendBuf,Welcome?%s?to?here!,inet_ntoa(addrClient.sin_addr));
??send(sockConn,sendBuf,strlen(sendBuf)+1,0);
??char?recvBuf[50];
??recv(sockConn,recvBuf,50,0);
??printf(%s\n,recvBuf);
??closesocket(sockConn);
?}
}
客户端编程的步骤:
1:加载套接字库,创建套接字(WSAStartup()/socket());
2:向服务器发出连接请求(connect());
3:和服务器端进行通信(send()/recv());
4:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。
客户端的代码如下:
#include?stdio.h
#include?Winsock2.h
void?main()
{
?WORD?wVersionRequested;
?WSADATA?wsaData;
?int?err;
?
?wVersionRequested?=?MAKEWORD(?1,?1?);
?
?err?=?WSAStartup(?wVersionRequested,?wsaData?);
?if?(?err?!=?0?)?{
??return;
?}
?
?if?(?LOBYTE(?wsaData.wVersion?)?!=?1?||
????????HIBYTE(?wsaData.wVersion?)?!=?1?)?{
??WSACleanup(?);
??return;
?}
?SOCKET?sockClient=socket(AF_INET,SOCK_STREAM,0);
?
?SOCKADDR_IN?a
您可能关注的文档
- VBA字符串用法(自整理)..doc
- VBA字典用法集锦及代码详解..doc
- Vbar设置(中文)..doc
- vba新建工作簿..doc
- VBA编程简化Excel操作的两个实例..docx
- VB9汽车销售系统(ACCESS数据库)..doc
- VBA语句集400句..doc
- VBNET数据语法基础..doc
- VBNET菜单设计初级入门..doc
- vbscript入门..doc
- 2025年中国镍铁合金尖嘴钳行业市场发展前景及发展趋势与投资战略研究报告.docx
- 药代三年规划.pptx
- 2025年中国德标平板法兰行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2025年中国N-甲基异丙基胺行业市场发展前景及发展趋势与投资战略研究报告.docx
- NetNumen T31网管系统操作指南培训教材电子互联.pdf
- 培训小学校长常规管理讲座.pptx
- 2025年中国教学用无线麦克风行业市场发展前景及发展趋势与投资战略研究报告.docx
- 药代下半年计划.pptx
- 可编程逻辑控制器(PLC)系列:Omron NX1P for Gas Processing_(16).气体处理系统的能效优化.docx
- 药从科学转化到应用.pptx
文档评论(0)