socket通信c++
时间: 2023-07-08 19:24:04 浏览: 95
好例子网_socketcommunicate_socketcommunicate_socket通信_
Socket通信是一种用于不同计算机之间进行通信的标准方法。在C++中,可以使用socket API来实现Socket通信。下面是一个简单的C++ socket通信示例:
1. 创建socket
```c++
#include <sys/socket.h>
#include <netinet/in.h>
int server_fd = socket(AF_INET, SOCK_STREAM, 0); // 创建一个TCP socket
```
2. 绑定socket到端口
```c++
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(8080);
addr.sin_addr.s_addr = INADDR_ANY;
bind(server_fd, (struct sockaddr *)&addr, sizeof(addr));
```
3. 监听socket
```c++
listen(server_fd, 10); // 开始监听,最大连接数为10
```
4. 接受连接请求
```c++
struct sockaddr_in client_addr;
socklen_t client_len = sizeof(client_addr);
int client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &client_len);
```
5. 发送和接收数据
```c++
// 发送数据
char buffer[] = "Hello, world!";
send(client_fd, buffer, strlen(buffer), 0);
// 接收数据
char buffer[1024];
int len = recv(client_fd, buffer, sizeof(buffer), 0);
```
6. 关闭socket
```c++
close(client_fd);
close(server_fd);
```
以上是一个简单的C++ socket通信示例。需要注意的是,在实际应用中还需要考虑异常情况的处理,如连接中断、连接超时等。
阅读全文