用lC语言编写一个socket代码
时间: 2024-05-12 09:19:50 浏览: 11
以下是一个简单的使用C语言编写的Socket代码,演示了如何创建一个TCP服务器和客户端:
服务器端代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
int main() {
int server_socket, client_socket;
struct sockaddr_in server_address, client_address;
char server_message[256] = "Hello, client!";
// 创建服务器端套接字
server_socket = socket(AF_INET, SOCK_STREAM, 0);
// 指定服务器地址和端口号
server_address.sin_family = AF_INET;
server_address.sin_port = htons(8080);
server_address.sin_addr.s_addr = INADDR_ANY;
// 绑定服务器套接字到指定地址和端口号
bind(server_socket, (struct sockaddr*) &server_address, sizeof(server_address));
// 监听客户端请求
listen(server_socket, 5);
printf("Server waiting for client connection...\n");
// 接收客户端请求
client_socket = accept(server_socket, NULL, NULL);
// 发送消息给客户端
send(client_socket, server_message, sizeof(server_message), 0);
// 关闭套接字
close(server_socket);
close(client_socket);
return 0;
}
```
客户端代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
int main() {
int client_socket;
struct sockaddr_in server_address;
char server_response[256];
// 创建客户端套接字
client_socket = socket(AF_INET, SOCK_STREAM, 0);
// 指定服务器地址和端口号
server_address.sin_family = AF_INET;
server_address.sin_port = htons(8080);
server_address.sin_addr.s_addr = INADDR_ANY;
// 连接服务器
connect(client_socket, (struct sockaddr*) &server_address, sizeof(server_address));
// 接收服务器消息
recv(client_socket, server_response, sizeof(server_response), 0);
printf("Server message: %s\n", server_response);
// 关闭套接字
close(client_socket);
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)