用c语言写一段TCP的socket
时间: 2023-10-16 22:09:21 浏览: 118
用C语言实现socket通信
绝对没问题!以下是一个简单的TCP Socket例子:
```c
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define BUFF_SIZE 32
int main(int argc, char *argv[]) {
int socket_fd, cnct;
struct sockaddr_in server_addr;
char buffer[BUFF_SIZE];
// 创建套接字
socket_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (socket_fd == -1) {
fprintf(stderr, "Failed to create socket\n");
exit(1);
}
// 配置服务器的IP和端口号
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(9999);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
// 尝试与服务器建立TCP连接
cnct = connect(socket_fd, (struct sockaddr*)&server_addr, sizeof(server_addr));
if (cnct == -1) {
fprintf(stderr, "Failed to connect to server\n");
exit(1);
}
// 接收服务器的欢迎信息
memset(buffer, 0, BUFF_SIZE);
recv(socket_fd, buffer, BUFF_SIZE - 1, 0);
printf("Server says: %s\n", buffer);
// 向服务器发送消息
char *msg = "Hello, server!";
send(socket_fd, msg, strlen(msg), 0);
// 关闭套接字
close(socket_fd);
return 0;
}
```
注意,这个例子是一个客户端,需要和一个运行在127.0.0.1:9999上的服务端配合使用。如果需要了解更多关于使用C语言编写socket的内容,请参考相关的网络编程教程。
阅读全文