Linux 服务器间通信测试:使用 Socket 发送和接收报文
Linux 服务器间通信测试:使用 Socket 发送和接收报文
要测试两台服务器之间的通信,可以使用 Socket 进行网络编程。以下步骤演示使用 TCP Socket 进行简单的通信测试。
1. 创建 Socket 并绑定地址和端口
在第一台服务器上,使用 socket() 函数创建一个 Socket,并使用 bind() 函数绑定一个地址和端口号。例如:
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(12345);
addr.sin_addr.s_addr = INADDR_ANY;
bind(sockfd, (struct sockaddr *)&addr, sizeof(addr));
2. 创建 Socket 并连接到服务器
在第二台服务器上,使用 socket() 函数创建一个 Socket,并使用 connect() 函数连接到第一台服务器的地址和端口号。例如:
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(12345);
addr.sin_addr.s_addr = inet_addr('192.168.1.100');
connect(sockfd, (struct sockaddr *)&addr, sizeof(addr));
3. 发送消息
在第二台服务器上,使用 send() 函数向第一台服务器发送消息。例如:
char msg[] = 'Hello, world!';
send(sockfd, msg, strlen(msg), 0);
4. 接收消息
在第一台服务器上,使用 recv() 函数接收消息。例如:
char buf[1024];
int n = recv(sockfd, buf, sizeof(buf), 0);
buf[n] = '\0';
printf('Received: %s\n', buf);
完成通信
以上步骤完成了两台服务器之间的简单通信。需要注意的是,代码中使用的地址和端口号需要根据实际情况进行修改。
扩展
除了 TCP Socket,还可以使用 UDP Socket 进行通信,以及其他更复杂的网络编程技术。本示例仅提供基础的通信测试方法。
原文地址: https://www.cveoy.top/t/topic/nkh9 著作权归作者所有。请勿转载和采集!