基于TCP/IP协议的socket编程
来源:互联网 发布:无创dna数据看性别图 编辑:程序博客网 时间:2024/05/09 20:31
=============================================================================
开发环境: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();}
0 0
- 基于TCP/IP协议的socket编程
- 基于TCP/IP协议的Socket编程
- 基于TCP/IP协议及UDP协议的socket编程
- 基于TCP/IP协议的网络编程—Socket编程
- C++ SOCKET编程 ---基于TCP/IP协议
- SOCKET编程 ---基于TCP/IP协议(转)
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议(转)
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 基于TCP/IP协议的Socket JAVA编程
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议(转)
- 状态栏的控制
- Android DiskLruCache完全解析,硬盘缓存的最佳方案
- 实现strlen的功能【不可以使用strlen函数】
- MySQL入门--字段的唯一约束UNIQUE
- UIMenuController
- 基于TCP/IP协议的socket编程
- Android之ListView详解-源码分析-原理完全解析
- HDU-4190二分答案
- HBase整合MapReduce之建立HBase索引
- UITextField && UITextView
- 社会实践感悟
- A. Infinite Sequence
- hdu1025 Constructing Roads In JGShining's Kingdom
- 软件开发注意事项