Linux中使用C语言写一个客户端发送消息并显示在返回在服务器中
时间: 2023-05-25 15:02:19 浏览: 88
A:
这是一个简单的C语言客户端程序,可以向服务器发送消息并显示返回的消息:
```c
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#define SERVER_IP "127.0.0.1"
#define SERVER_PORT 8888
#define BUF_SIZE 1024
int main(void) {
int sock_fd = socket(AF_INET, SOCK_STREAM, 0);
if (sock_fd == -1) {
perror("Error creating socket");
return 1;
}
struct sockaddr_in server_addr = {0};
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(SERVER_PORT);
if (inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr) <= 0) {
perror("Invalid server IP address");
return 1;
}
if (connect(sock_fd, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) {
perror("Error connecting to server");
return 1;
}
char buf[BUF_SIZE] = {0};
printf("Enter message to send to server: ");
fgets(buf, BUF_SIZE, stdin);
if (send(sock_fd, buf, strlen(buf), 0) == -1) {
perror("Error sending message to server");
return 1;
}
if (recv(sock_fd, buf, BUF_SIZE, 0) == -1) {
perror("Error receiving message from server");
return 1;
}
printf("Message received from server: %s\n", buf);
close(sock_fd);
return 0;
}
```
这个程序做了以下几件事情:
1. 创建一个IPv4 TCP套接字。
2. 指定服务器的IP地址和端口。
3. 连接到服务器。
4. 从标准输入读取用户键入的消息,并发送到服务器。
5. 从服务器接收返回的消息。
6. 把返回的消息输出到标准输出。
7. 关闭套接字,结束程序的执行。
请注意,这个程序错误处理非常简单,实际生产环境中应该加强错误处理和异常情况的处理。