用c语言分别写一个TCPIP客户端和服务端
时间: 2023-02-06 14:28:27 浏览: 129
基于C语言实现TCP/IP协议的手法(源码)
在这里我会给出一个基本的 TCP/IP 客户端和服务器的示例代码。这两个程序实现了最基本的功能,你可以在此基础上进行扩展。
首先是 TCP/IP 客户端的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 8000
#define BUFFER_SIZE 1024
int main(int argc, char* argv[])
{
int client_socket;
struct sockaddr_in server_addr;
char buffer[BUFFER_SIZE];
// 创建客户端 socket
client_socket = socket(AF_INET, SOCK_STREAM, 0);
if (client_socket < 0) {
perror("socket");
exit(1);
}
// 设置服务器地址
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(PORT);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
// 连接到服务器
if (connect(client_socket, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
perror("connect");
exit(1);
}
// 向服务器发送数据
strcpy(buffer, "Hello, server!");
send(client_socket, buffer, strlen(buffer), 0);
// 接收服务器的响应
recv(client_socket, buffer, BUFFER_SIZE, 0);
printf("Received from server: %s\n", buffer);
// 关闭 socket
close(client_socket);
return 0;
}
```
接下来是 TCP/IP 服务器的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 8000
#define BACKLOG
阅读全文