网络编程基础:使用TCP连接
来源:互联网 发布:网络电子游戏现场 编辑:程序博客网 时间:2024/05/17 22:18
每天学习 = =……
【TCP】服务端
- //////////////////////////////////////////////////////////////////////////
- // CopyRight(c) 2009, YOYO, All Rights Reserved.
- // Author: LIN YiQian
- // Created: 2009/09/17
- // Describe: TCP 服务端
- //////////////////////////////////////////////////////////////////////////
- #include <WinSock2.h>
- #include <iostream>
- #pragma comment(lib, "ws2_32.lib")
- void main(void)
- {
- WORD wVersionRequired;
- WSADATA wsaData;
- wVersionRequired = MAKEWORD(1, 1); // 副版本号在前 主版本号在后
- int nErr = WSAStartup(wVersionRequired, &wsaData);
- if (nErr != 0)
- {
- return;
- }
- if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1) // 版本错误
- {
- WSACleanup();
- return;
- }
- SOCKET socketServer = socket(AF_INET, SOCK_STREAM, 0);
- SOCKADDR_IN addrServer;
- addrServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY); // 使用任意网卡上的IP地址
- addrServer.sin_port = htons(9989); // 使用端口号
- addrServer.sin_family = AF_INET;
- bind(socketServer, (SOCKADDR*)&addrServer, sizeof(SOCKADDR));
- listen(socketServer, 5);
- SOCKET socketClient;
- SOCKADDR_IN addrClient;
- int nLen = sizeof(SOCKADDR);
- while (true)
- {
- socketClient = accept(socketServer, (SOCKADDR*)&addrClient, &nLen);
- char szSendMsg[100];
- sprintf(szSendMsg, "Welcome %s to ND./n", inet_ntoa(addrClient.sin_addr));
- send(socketClient, szSendMsg, strlen(szSendMsg) + 1, 0);
- char szRecvMsg[100];
- recv(socketClient, szRecvMsg, 100, 0);
- std::cout << szRecvMsg << std::endl;
- closesocket(socketClient);
- }
- closesocket(socketServer);
- WSACleanup();
- return;
- }
【TCP】客户端
- //////////////////////////////////////////////////////////////////////////
- // CopyRight(c) 2009, YOYO, All Rights Reserved.
- // Author: LIN YiQian
- // Created: 2009/09/17
- // Describe: TCP 客户端
- //////////////////////////////////////////////////////////////////////////
- #include <Winsock2.h>
- #include <iostream>
- #pragma comment(lib, "ws2_32.lib")
- void main(void)
- {
- WORD wVersionRequired;
- WSADATA wsaData;
- wVersionRequired = MAKEWORD(1, 1);
- int nErr = WSAStartup(wVersionRequired, &wsaData);
- if (nErr != 0)
- {
- return;
- }
- if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1)
- {
- WSACleanup();
- return;
- }
- SOCKET socketClient = socket(AF_INET, SOCK_STREAM, 0);
- SOCKADDR_IN addrServer;
- addrServer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
- addrServer.sin_port = htons(9989);
- addrServer.sin_family = AF_INET;
- connect(socketClient, (SOCKADDR*)&addrServer, sizeof(SOCKADDR));
- char szRecvMsg[100];
- recv(socketClient, szRecvMsg, 100, 0);
- std::cout << szRecvMsg << std::endl;
- char szSendMsg[100];
- sprintf(szSendMsg, "Re from Client../n");
- send(socketClient, szSendMsg, strlen(szSendMsg) + 1, 0);
- closesocket(socketClient);
- WSACleanup();
- system("pause");
- return;
- }
- 网络编程基础:使用TCP连接
- 网络基础---TCP连接
- 网络基础---TCP连接
- 网络基础---TCP连接
- 网络编程基础(3)-协议概要-TCP的连接管理
- 网络编程基础:使用UDP连接
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程七--tcp连接的内存使用
- 高性能网络编程 之 TCP连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7----tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 高性能网络编程7--tcp连接的内存使用
- 经典
- 第一篇日记
- 第一篇日记
- Fedora Core 5 编译Android
- Android内核的简单分析
- 网络编程基础:使用TCP连接
- 网络编程基础:使用UDP连接
- 网络编程基础:使用SELECT模型
- ini操作
- skyeye 上实现U-Boot 的Nand命令,解决nand read错误
- csdn专家博客
- Linux下运行手机游戏
- sql_mode
- MYSQL5 中文无法插入 Data too long for column