用C语言写 一段tcp代码
时间: 2024-01-29 18:04:08 浏览: 23
以下是一段使用C语言编写的TCP客户端示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
int main() {
// 创建套接字
int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock < 0) {
perror("socket");
exit(EXIT_FAILURE);
}
// 设置服务器地址
struct sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
server_addr.sin_port = htons(10000);
// 连接服务器
int ret = connect(sock, (struct sockaddr *)&server_addr, sizeof(server_addr));
if (ret < 0) {
perror("connect");
exit(EXIT_FAILURE);
}
// 发送数据
char send_buf[1024] = "Hello, I'm a TCP client.";
ret = send(sock, send_buf, strlen(send_buf), 0);
if (ret < 0) {
perror("send");
exit(EXIT_FAILURE);
}
// 接收数据
char recv_buf[1024];
ret = recv(sock, recv_buf, sizeof(recv_buf), 0);
if (ret < 0) {
perror("recv");
exit(EXIT_FAILURE);
}
recv_buf[ret] = '\0';
printf("Received: %s\n", recv_buf);
// 关闭套接字
close(sock);
return 0;
}
```
以上示例代码演示了如何创建一个TCP客户端套接字,连接到指定的服务器并发送数据,然后接收服务器的响应并打印。需要注意的是,此示例中使用的服务器地址是本地回环地址127.0.0.1 (即localhost),端口号为10000。如果需要连接到其他服务器,请修改服务器地址和端口号。