socket通信客户端c语言代码
时间: 2024-09-28 22:12:36 浏览: 35
在C语言中,使用socket通信通常涉及到网络编程,特别是使用套接字API来进行客户端和服务端之间的数据传输。下面是一个简单的TCP客户端示例,用于连接到服务器并发送一条消息:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#define PORT 12345 // 服务端监听的端口
#define MAX_BUFFER_SIZE 1024
int main(int argc, char *argv[]) {
int client_socket;
struct sockaddr_in server_addr;
char message[] = "Hello Server!"; // 要发送的消息
char buffer[MAX_BUFFER_SIZE];
// 创建套接字
if ((client_socket = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("Failed to create socket");
return 1;
}
// 设置服务器地址信息
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(PORT);
inet_pton(AF_INET, "localhost", &server_addr.sin_addr); // 假设服务器在本地
// 连接到服务器
if (connect(client_socket, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
perror("Failed to connect to server");
close(client_socket);
return 1;
}
// 发送消息
send(client_socket, message, strlen(message), 0);
printf("Message sent: %s\n", message);
// 接收服务器响应
recv(client_socket, buffer, MAX_BUFFER_SIZE, 0);
buffer[strlen(buffer)] = '\0'; // 添加终止符
printf("Server response: %s\n", buffer);
// 关闭套接字
close(client_socket);
return 0;
}
```
运行这个程序时,它会尝试连接到本地主机的指定端口,发送一条消息,然后接收服务器的回复。
阅读全文