简单TCP服务器端和客户端(源代码)
来源:互联网 发布:centos 安装mysql5.6 编辑:程序博客网 时间:2024/05/05 12:05
http://andylin02.iteye.com/blog/460742
- #include <iostream>
- #include <stdio.h>
- #include <windows.h>
- using namespace std;
- #pragma comment(lib, "WS2_32.lib")
- int main()
- {
- WSADATA wsaData;
- WORD sockVersion = MAKEWORD(2, 2);
- SOCKET sock = 0;
- if (WSAStartup(sockVersion, &wsaData) != 0)
- {
- cout << "initlization failed!" << endl;
- exit(0);
- }
- sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (sock == INVALID_SOCKET)
- {
- cout << "failed socket!" << endl;
- return 0;
- }
- sockaddr_in sin;
- sin.sin_family = AF_INET;
- sin.sin_port = htons(4567);
- sin.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
- if (connect(sock, (sockaddr*)&sin, sizeof(sockaddr)) == -1)
- {
- cout << "connect failed!" << endl;
- return 0;
- }
- char buffer[256] = "\0";
- int nRecv = 0;
- nRecv = recv(sock, buffer, 256, 0);
- if (nRecv > 0)
- {
- buffer[nRecv] = '\0';
- cout << "reveive data: " << buffer << endl;
- }
- closesocket(sock);
- WSACleanup();
- }
- //服务端:
- #include <iostream>
- #include <stdio.h>
- #include <windows.h>
- using namespace std;
- #pragma comment(lib, "WS2_32.lib")
- int main()
- {
- WSADATA wsaData;
- WORD sockVersion = MAKEWORD(2, 2);
- SOCKET sListen = 0;
- sockaddr_in sin = {0};
- sockaddr_in remoteAddr = {0};
- char szText[] = "TCP Server Demo";
- int nAddrLen = 0;
- nAddrLen = sizeof(sockaddr_in);
- //fill sin
- sin.sin_port = htons(4567);
- sin.sin_family = AF_INET;
- sin.sin_addr.S_un.S_addr = INADDR_ANY;
- //init wsa
- if (WSAStartup(sockVersion, &wsaData) != 0)
- {
- cout << "initlization failed!" << endl;
- exit(0);
- }
- sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)
- {
- cout << "bind failed!" << endl;
- return 0;
- }
- if (listen(sListen, 2) == SOCKET_ERROR)
- {
- cout << "listen failed!" << endl;
- return 0;
- }
- SOCKET sClient = INADDR_ANY;
- while (true)
- {
- sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
- if (sClient == INVALID_SOCKET)
- {
- cout << "accept failed!" << endl;
- continue;
- }
- send(sClient, szText, strlen(szText), 0);
- closesocket(sClient);
- }
- closesocket(sListen);
- WSACleanup();
- }
- //服务端:
- #include <iostream>
- #include <stdio.h>
- #include <windows.h>
- using namespace std;
- #pragma comment(lib, "WS2_32.lib")
- int main()
- {
- WSADATA wsaData;
- WORD sockVersion = MAKEWORD(2, 2);
- SOCKET sListen = 0;
- sockaddr_in sin = {0};
- sockaddr_in remoteAddr = {0};
- char szText[] = "TCP Server Demo";
- int nAddrLen = 0;
- nAddrLen = sizeof(sockaddr_in);
- //fill sin
- sin.sin_port = htons(4567);
- sin.sin_family = AF_INET;
- sin.sin_addr.S_un.S_addr = INADDR_ANY;
- //init wsa
- if (WSAStartup(sockVersion, &wsaData) != 0)
- {
- cout << "initlization failed!" << endl;
- exit(0);
- }
- sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)
- {
- cout << "bind failed!" << endl;
- return 0;
- }
- if (listen(sListen, 2) == SOCKET_ERROR)
- {
- cout << "listen failed!" << endl;
- return 0;
- }
- SOCKET sClient = INADDR_ANY;
- while (true)
- {
- sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
- if (sClient == INVALID_SOCKET)
- {
- cout << "accept failed!" << endl;
- continue;
- }
- send(sClient, szText, strlen(szText), 0);
- closesocket(sClient);
- }
- closesocket(sListen);
- WSACleanup();
- }
- 简单TCP服务器端和客户端(源代码)
- 简单TCP服务器端和客户端(源代码)
- 简单TCP服务器端和客户端(源代码)附详细解释
- 简单UDP服务器端和客户端(源代码)
- TCP 客户端和服务器端
- 基于tcp的服务器端和客户端简单版
- Tcp实现客户端和服务器端的简单互访
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- TCP服务器端和客户端程序设计
- 网络编程Tcp的客户端和服务器端
- tcp写服务器端和客户端程序
- UNIX网络编程----TCP客户端和服务器端
- 图片处理笔记for silverlight 和 Windows Phone 7
- 怎样自动计算扩展单元格的和
- 通过OpenOCD烧写Imote2用bootloader
- Linux下各类TCP网络服务器的实现源代码
- 智能公交带来出行新感受,让城市公共交通变得更“聪明”
- 简单TCP服务器端和客户端(源代码)
- 学习Ext相关
- 3DMarkVantage 解析
- Solaris 10 开启NTP服务
- chrome developer tool 调试技巧
- MP4格式分析
- 图文解释XCode常用快捷键的使用
- Android GUI编程模型(MVC设计模式)
- udev 规则文件的写法