Linux 客户端实现:使用 Socket 编程连接服务器
要实现一个 Linux 客户端,可以使用 Socket 编程来实现。下面是一个简单的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define SERVER_IP '127.0.0.1'
#define SERVER_PORT 12345
int main() {
int sockfd;
struct sockaddr_in server_addr;
// 创建socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
perror('Error creating socket');
exit(EXIT_FAILURE);
}
// 设置服务器地址
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(SERVER_IP);
server_addr.sin_port = htons(SERVER_PORT);
// 连接服务器
if (connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
perror('Error connecting to server');
exit(EXIT_FAILURE);
}
// 发送和接收数据
char buffer[1024];
printf('Enter message: ');
fgets(buffer, sizeof(buffer), stdin);
if (send(sockfd, buffer, strlen(buffer), 0) < 0) {
perror('Error sending message');
exit(EXIT_FAILURE);
}
memset(buffer, 0, sizeof(buffer));
if (recv(sockfd, buffer, sizeof(buffer), 0) < 0) {
perror('Error receiving message');
exit(EXIT_FAILURE);
}
printf('Server response: %s\n', buffer);
// 关闭socket
close(sockfd);
return 0;
}
这个代码示例创建了一个 TCP socket,连接到指定的服务器 IP 和端口。然后,它从标准输入读取用户输入的消息,并将消息发送到服务器。接下来,它接收服务器的响应,并将响应打印到标准输出。最后,它关闭 socket 连接。
请注意,这只是一个简单的示例代码,实际的应用可能需要更多的错误处理和逻辑。
原文地址: https://www.cveoy.top/t/topic/qFBB 著作权归作者所有。请勿转载和采集!