基于TCP/IP协议的socket编程
2016-05-20 20:10
477 查看
=============================================================================
开发环境:windows
开发工具:VC6.0
注意:由于我们使用的socket编程要使用到ws2_32.lib这个动态库,所以在我们编译之前要加上该动态库的连接
=====================================================================
服务器端的代码:
客户端代码:
开发环境:windows
开发工具:VC6.0
注意:由于我们使用的socket编程要使用到ws2_32.lib这个动态库,所以在我们编译之前要加上该动态库的连接
=====================================================================
服务器端的代码:
#include <Winsock2.h> #include <stdio.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[100]; sprintf(sendBuf, "Welcome %s to http://www.xxx.org", inet_ntoa(addrClient.sin_addr)); send(sockConn, sendBuf, strlen(sendBuf) + 1, 0); char recvBuf[100]; recv(sockConn, recvBuf, 100, 0); printf("%s\n", recvBuf); closesocket(sockConn); } }
客户端代码:
#include <Winsock2.h> #include <stdio.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 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 sheng", strlen("this is sheng") + 1, 0); closesocket(sockClient); WSACleanup(); }
相关文章推荐
- java代码中发送http请求的DnsResolver使用问题
- Font from origin 'http://apps.bdimg.com' has been blocked
- keepalived高可用http服务实例
- TCP/IP,Http,Socket,XMPP的区别
- php 下载网络图片到本地服务器
- iOS开发之网络检测
- GDOI 2016 Day2 T3 机密网络
- HttpServletRequest——获取URL的方法
- 在Android6.0以后如何使用HTTPclient
- 利用zlib库对HTTP收到的gzip数据解压
- iOS开发常用开源框架——网络
- ubuntu运维--网络配置
- MFC使用HttpGet和HttpPost方法与服务器通信
- HttpClient的psot方式
- JAVA 通过 Socket 实现 TCP 编程
- OC下载网络数据简介
- 网络WireShark进行抓包
- IP Forwarding打开
- APC UPS 网络管理卡(型号apc ap9631)的配置
- APC UPS 网络管理卡(型号apc ap9631)的配置