- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五、 网络编程的设计与实现
一.实验目的:
通过该实验掌握最基本的Client/Server(客户机/服务器)模式的网络编程技术,并在此基础上实现更为复杂的网络编程。
二.任务要求:
1、按所附的参考程序使用VC++或其他工具设计出程序()
2、在第1步的基础上使用VC++或其他工具设计出一个能实现两个人聊天的网络程序
三.实验环境:
Windows 平台,VC++
四.实验内容:
#include stdio.h
#includestring.h
#include winsock2.h
#define MAXSIZE 100
#pragma comment(lib, ws2_32.lib)
void main() {
char sendbuf[MAXSIZE],s[MAXSIZE];
char recvbuf[MAXSIZE];
sockaddr_in service;
SOCKET AcceptSocket;
SOCKET server;
WSADATA wsaData;
int bytesSend,bytesRecv;
// 初始化
int iResult = WSAStartup( MAKEWORD(2,2), wsaData );
if ( iResult != NO_ERROR )
printf(Error at WSAStartup()\n);
// 建立socket
server = socket(AF_INET,SOCK_STREAM, IPPROTO_TCP );
if ( server == INVALID_SOCKET ) {
printf( Error at socket(): %ld\n, WSAGetLastError() );
WSACleanup();
return;
}
// 绑定socket
service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr(127.0.0.1);
service.sin_port = htons( 27016 );
if ( bind( server, (SOCKADDR*) service, sizeof(service) ) == SOCKET_ERROR ) {
printf( bind() failed.\n );
closesocket(server);
return;
}
// 监听 socket
if ( listen( server, 1 ) == SOCKET_ERROR )
printf( Error listening on socket.\n);
// 接受连接
printf( Waiting for a client to connect...\n );
AcceptSocket = SOCKET_ERROR;
while ( AcceptSocket == SOCKET_ERROR ) {
AcceptSocket = accept( server, NULL, NULL );
}
printf( Client Connected.\n);
server = AcceptSocket;
strcpy(recvbuf,);
bytesRecv=recv(server,recvbuf, MAXSIZE, 0 );
if (bytesRecv==0 || bytesRecv==WSAECONNRESET ) {
printf( Connection Closed.\n);
return;
}
strcpy(sendbuf, 欢迎访问服务器!!);
if (bytesSend=send(server, sendbuf, strlen(sendbuf),0)==SOCKET_ERROR)
{
printf(发送数据出错);
return;
}
while(1)
{
memset(recvbuf,\0,sizeof(recvbuf));
printf(服务器:);
gets(s);
if (bytesSend=send(s
您可能关注的文档
最近下载
- 发改价格[2007]670号监理收费标准.pdf VIP
- 发改价格【2007】670号《建设工程监理与相关服务收费管理....docx VIP
- 最新实用医学汉语-医学课件.ppt VIP
- 医学汉语教学大纲.doc VIP
- 水工建筑物外观质量评定标准.docx VIP
- 英语国际音标表(8个)打印版.doc VIP
- 升立德 E系列控制卡快速入门.pdf VIP
- 欧盟发布电池和废电池的新规(EU) 附中译文参照_182518812544822.pdf VIP
- 9.3抗日战争80周年阅兵九三阅兵小小爱国者探索手册PPT(优质ppt).pptx VIP
- 部编版六年级语文上册《 开国大典》PPT课件(含教案).pptx VIP
文档评论(0)