生成一段高性能的scoket代码
时间: 2023-02-07 07:13:26 浏览: 51
好的,以下是一段基于 TCP 协议的高性能 socket 代码的示例:
```
#include <iostream>
#include <cstring>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
using namespace std;
int main()
{
// 创建 socket
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0)
{
cerr << "Error: Cannot create socket" << endl;
return 1;
}
// 设置 socket 选项
int opt = 1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
// 绑定地址和端口
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(6666);
bind(sockfd, (sockaddr*)&addr, sizeof(addr));
// 监听
listen(sockfd, 10);
// 接受连接
sockaddr_in client_addr;
socklen_t client_len = sizeof(client_addr);
int client_sockfd = accept(sockfd, (sockaddr*)&client_addr, &client_len);
// 接收数据
char buf[1024];
memset(buf, 0, sizeof(buf));
int recv_len = recv(client_sockfd, buf, sizeof(buf), 0);
cout << "Received " << recv_len << " bytes: " << buf << endl;
// 发送数据
const char* data = "Hello, client!";
send(client_sockfd, data, strlen(data), 0);
// 关闭 socket
close(client_sockfd);
close(sockfd);
return 0;
}
```
这段代码实现了一个基于 TCP 协议的服务端 socket 程序,它会创建一个 socket,绑定地址和端口,然后监听连接,接受来自客户端的连接,接收客户端发送的数据,并将数据返回给客户端。