C语言socket通信
时间: 2023-09-23 17:05:36 浏览: 90
c语言socket通信
您好!C语言中的Socket通信是一种用于实现网络通信的编程接口。Socket允许不同的计算机之间通过网络进行数据交换。下面是一个简单的示例代码,展示了如何在C语言中使用Socket进行基本的通信:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#define PORT 8080
int main() {
int sockfd;
struct sockaddr_in server_addr;
char *message = "Hello, Server!";
char buffer[1024] = {0};
// 创建套接字
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("Socket creation error");
exit(EXIT_FAILURE);
}
memset(&server_addr, '0', sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(PORT);
// 将IPv4地址从文本转换为二进制格式
if (inet_pton(AF_INET, "127.0.0.1", &server_addr.sin_addr) <= 0) {
perror("Invalid address/ Address not supported");
exit(EXIT_FAILURE);
}
// 连接服务器
if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
perror("Connection Failed");
exit(EXIT_FAILURE);
}
// 发送数据
send(sockfd, message, strlen(message), 0);
printf("Message sent to server: %s\n", message);
// 接收服务器响应
read(sockfd, buffer, 1024);
printf("Server response: %s\n", buffer);
// 关闭套接字
close(sockfd);
return 0;
}
```
这段代码创建了一个客户端程序,它连接到本地主机上的服务器。它首先创建一个套接字,然后将服务器的地址和端口设置为目标地址。然后,它通过调用`connect`函数来连接到服务器。一旦连接成功,它会发送一条消息给服务器,并等待服务器的响应。最后,它会关闭套接字。
请注意,这只是一个简单的示例,实际应用中可能需要添加更多的错误处理和其他功能。希望能对您有所帮助!如有任何疑问,请随时提问。
阅读全文