掌握 Socket 通信协议实现的方法,能够使用c语言编写通信程序
时间: 2024-05-09 07:14:30 浏览: 17
是的,掌握 Socket 通信协议实现的方法,可以使用 C 语言编写通信程序。下面是一个简单的示例,展示了如何使用 C 语言中的 Socket API 创建一个客户端程序,连接到服务器并发送数据:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
int sock;
struct sockaddr_in server;
char message[100], server_reply[200];
// 创建套接字
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1) {
printf("Could not create socket");
exit(1);
}
puts("Socket created");
server.sin_addr.s_addr = inet_addr("127.0.0.1"); // 服务器 IP 地址
server.sin_family = AF_INET;
server.sin_port = htons(8888); // 服务器监听的端口号
// 连接到服务器
if (connect(sock, (struct sockaddr *)&server, sizeof(server)) < 0) {
perror("connect failed. Error");
exit(1);
}
puts("Connected\n");
// 发送数据
printf("Enter message : ");
scanf("%s", message);
if (send(sock, message, strlen(message), 0) < 0) {
puts("Send failed");
exit(1);
}
// 接收服务器的响应
if (recv(sock, server_reply, 200, 0) < 0) {
puts("recv failed");
exit(1);
}
puts("Server reply :");
puts(server_reply);
close(sock);
return 0;
}
```
这个程序使用了 C 语言中的 Socket API,创建了一个 TCP 客户端,连接到本地 IP 地址为 127.0.0.1、端口号为 8888 的服务器,并发送了一个消息。在发送数据后,程序等待服务器的响应,并打印出来,最后关闭套接字。