C++ 套接字通信发送程序示例代码 - 连接服务器并发送数据
#include <iostream>\n#include <string>\n#include <WS2tcpip.h>\n\n#pragma comment(lib, "ws2_32.lib")\n\nint main()\n{\n // 初始化Winsock\n WSADATA wsData;\n WORD ver = MAKEWORD(2, 2);\n int wsResult = WSAStartup(ver, &wsData);\n if (wsResult != 0)\n {\n std::cerr << "无法初始化Winsock, 错误码: " << wsResult << std::endl;\n return 1;\n }\n\n // 创建套接字\n SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);\n if (sock == INVALID_SOCKET)\n {\n std::cerr << "无法创建套接字, 错误码: " << WSAGetLastError() << std::endl;\n WSACleanup();\n return 1;\n }\n\n // 设置服务器地址和端口\n sockaddr_in serverAddr;\n serverAddr.sin_family = AF_INET; // IPv4\n serverAddr.sin_port = htons(54000); // 端口号,注意要使用网络字节序\n inet_pton(AF_INET, "127.0.0.1", &serverAddr.sin_addr); // 服务器IP地址\n\n // 连接到服务器\n int connResult = connect(sock, (sockaddr*)&serverAddr, sizeof(serverAddr));\n if (connResult == SOCKET_ERROR)\n {\n std::cerr << "无法连接到服务器, 错误码: " << WSAGetLastError() << std::endl;\n closesocket(sock);\n WSACleanup();\n return 1;\n }\n\n // 发送数据\n std::string sendData = "Hello, server!";\n int sendResult = send(sock, sendData.c_str(), sendData.size() + 1, 0);\n if (sendResult == SOCKET_ERROR)\n {\n std::cerr << "发送数据失败, 错误码: " << WSAGetLastError() << std::endl;\n closesocket(sock);\n WSACleanup();\n return 1;\n }\n\n // 关闭套接字\n closesocket(sock);\n\n // 清理Winsock\n WSACleanup();\n\n return 0;\n}\n\n此代码示例使用了Windows平台下的winsock库进行套接字通信。代码中的sendData字符串为要发送的数据,可以根据需要进行修改。此程序将数据发送到本地IP地址为127.0.0.1的服务器的54000端口。如果要连接到其他服务器,可以修改inet_pton()函数中的IP地址和serverAddr.sin_port的端口号。
原文地址: https://www.cveoy.top/t/topic/pTtz 著作权归作者所有。请勿转载和采集!