C++实现TCp功能详细代码
时间: 2024-01-07 09:04:42 浏览: 30
下面是一个简单的C++实现TCP客户端的示例代码:
```c++
#include <iostream>
#include <cstring>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
using namespace std;
int main() {
// 创建套接字
int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == -1) {
cerr << "socket create error" << endl;
return -1;
}
// 设置服务器地址
struct sockaddr_in serverAddr;
memset(&serverAddr, 0, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
serverAddr.sin_port = htons(8888);
// 连接服务器
if (connect(sock, (struct sockaddr*)&serverAddr, sizeof(serverAddr)) == -1) {
cerr << "connect error" << endl;
return -1;
}
// 发送数据
const char* msg = "Hello, server!";
if (send(sock, msg, strlen(msg), 0) == -1) {
cerr << "send error" << endl;
return -1;
}
// 接收数据
char buffer[1024];
memset(buffer, 0, sizeof(buffer));
if (recv(sock, buffer, sizeof(buffer), 0) == -1) {
cerr << "recv error" << endl;
return -1;
}
cout << buffer << endl;
// 关闭套接字
close(sock);
return 0;
}
```
上面的代码中,我们首先使用`socket()`函数创建了一个套接字。然后设置了服务器地址,并使用`connect()`函数连接到服务器。接着,我们发送了一条消息,并通过`recv()`函数接收从服务器返回的消息。最后,我们关闭了套接字。
需要注意的是,这只是一个简单的示例代码,实际中还需要添加异常处理、错误检查等功能。