- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 WinSok 2 编写简单的客户服务器程序
“基于 WinSock 2 编写简单的客户/服务器程序”
一、实验目的
1 掌握基于 WinSock 2 的网络通信编程。
2 通过编写一个简单的 TCP 应用程序和一个简单的UDP 应用程序,加深对客户/服
务器网络交互模型的理解。
二、实验环境
1 计算机两台(已安装 Windows XP 操作系统和Visual C++ 6.0 集成开发环境)。
2 交换机一台(例如华为 Quidway S3528P-EA 或者联想iSpirit2924G)。
3 平行双绞线网线若干。
三、实验内容
建立工程,设置 Visual C++ 6.0 的WinSock 2 网络开发环境:
1 进入“File”→“New”→“Projects”选项卡,选择“Win32 Console Application”,
在“Project name”栏中添加工程名,在“Location”栏目设置好工程存放位置后,
按“OK”,在弹出窗口中选择“An empty project”,按“Finish”、“OK”后,便建
立了一项新的工程。
2 再进入“File”→“New”→“Files”选项卡,选择“C++ Source File”,在“File”
栏中添加文件名,后缀为.cpp,在“Location”栏目设置好.cpp 源文件存放位置后,
按“OK”,便将该.cpp 源文件添加到工程中。
3 再进入“Project”→“Settings…”→“Link”选项卡下的“Object/library Modules”
中,添加静态链接函数库ws2_32.lib,WinSock 2 网络开发环境设置完毕。
1 编写一个简单的TCP 应用程序
客户端
#include
#include
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 addrSrv; addrSrv.sin_addr.S_un.S_addr inet_addr 127.0.0.1 ; addrSrv.sin_family AF_INET; addrSrv.sin_port htons 6000 ; connect sockClient, SOCKADDR* addrSrv,sizeof SOCKADDR ; char recvBuf[100]; recv sockClient,recvBuf,100,0 ; printf %s\n,recvBuf ; send sockClient,this is lisi,strlen this is lisi +1,0 ; closesocket sockClient ; WSACleanup ; #include
//socket程序需要的头文件。
#include int main /*************以下这段代码是复制的MSDN 中的WSAStartup 下的代码********************/
WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested MAKEWORD 1, 1 ; err WSAStartup wVersionRequested, wsaData ; if err ! 0 return 1; if LOBYTE wsaData.wVersion ! 1 || HIBYTE wsaData.wVersion ! 1 WSACleanup ; return 2; /*************以下这段代码是复制的MSDN 中的WSAStartup 下的代码********************/
/*socket 第一参数是一个地址簇, 对于TCP/IP协议的套接字, 它只能是AF_INET也可以写成PF_INET。 第二参数指定socket类型,对于1.1版本的socket, 它只支持两种类型的套接字, SOCK_STREAM指定产生流式套接字, SOCK_DGRAM产生数据
文档评论(0)