首页 如何在C语言中实现Socket编程

如何在C语言中实现Socket编程

举报
开通vip

如何在C语言中实现Socket编程 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 页 1 在 C 语言中实现 Socket 编程 tcpsrv.c的内容如下: #include #include #define RECEIVE_MAX_LENGTH 100 #define SEND_MAX_LENGTH 100 void main() { WORD wVersi...

如何在C语言中实现Socket编程
浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 页 1 在 C 语言中实现 Socket 编程 tcpsrv.c的内容如下: #include #include #define RECEIVE_MAX_LENGTH 100 #define SEND_MAX_LENGTH 100 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 socketadd; socketadd.sin_addr.S_un.S_addr = htonl(INADDR_ANY); socketadd.sin_family = AF_INET; socketadd.sin_port = htons(7001); if( SOCKET_ERROR == bind(socksrv,(SOCKADDR*)&socketadd,sizeof(SOCKADDR)) ) { 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 页 2 printf("bind err\n"); return; } if( SOCKET_ERROR == listen(socksrv,5) ) { printf("listen err"); return; } SOCKADDR_IN sockclient; int len = sizeof(SOCKADDR); while(1) { SOCKET sockconn = accept(socksrv,(SOCKADDR*)&sockclient,&len);//建 立连接的套节字 if(INVALID_SOCKET == sockconn ) { printf("acc err\n"); return; } char sendData[SEND_MAX_LENGTH]; //scanf("%s",sendData); //strcpy(sendData, "hello client, i\'m server"); sprintf(sendData,"%s","hello client, i\'m server"); if( SOCKET_ERROR == send(sockconn,sendData,strlen(sendData)+1,0) ) { printf("send err\n"); return; } char getData[RECEIVE_MAX_LENGTH]; recv(sockconn,getData,RECEIVE_MAX_LENGTH,0); printf("%s\n",getData); closesocket(sockconn); } } 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 页 3 tcpclient.c 的内容如下: #include #include #define RECEIVE_MAX_LENGTH 100 #define SEND_MAX_LENGTH 100 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 socketClient = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN clientadd; clientadd.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); clientadd.sin_family = AF_INET; clientadd.sin_port = htons(7001); if( SOCKET_ERROR == connect(socketClient,(SOCKADDR*)&clientadd,sizeof(SOCKADDR)) ) { 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 页 4 printf("con err\n"); return; } char getData[RECEIVE_MAX_LENGTH]; if(recv(socketClient,getData,RECEIVE_MAX_LENGTH,0) == SOCKET_ERROR) { printf("recv err\n"); return; } else { printf("%s\n",getData); } char sendData[SEND_MAX_LENGTH]; //scanf("%s",sendData); strcpy(sendData, "hello server, i\'m client"); //sprintf(sendData,"%s","hello server, i\'m client"); send(socketClient,sendData,sizeof(sendData)+1,0); closesocket(socketClient); WSACleanup(); } 必须先运行服务端程序,再运行客户端程序!
本文档为【如何在C语言中实现Socket编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_622030
暂无简介~
格式:pdf
大小:241KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2012-12-06
浏览量:33