socket通信c++
时间: 2023-07-08 11:54:26 浏览: 64
Socket通信是一种网络通信方式,可以在不同的计算机之间进行数据传输。在C++中,可以使用Socket API来实现Socket通信。
以下是一个简单的C++ Socket通信示例:
```c++
#include <iostream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
using namespace std;
int main() {
int sock = socket(AF_INET, SOCK_STREAM, 0); // 创建Socket
if (sock < 0) {
cout << "Socket创建失败" << endl;
return -1;
}
struct sockaddr_in server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8000);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
if (connect(sock, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) { // 连接服务器
cout << "连接失败" << endl;
return -1;
}
char buffer[1024] = {0};
const char *msg = "Hello, Server!";
send(sock, msg, strlen(msg), 0); // 发送数据
int len = recv(sock, buffer, sizeof(buffer), 0); // 接收数据
if (len < 0) {
cout << "接收数据失败" << endl;
return -1;
}
cout << "收到服务器的回复:" << buffer << endl;
close(sock); // 关闭Socket
return 0;
}
```
在以上代码中,我们首先创建了一个Socket,然后指定服务器的地址和端口号,使用`connect`函数连接服务器。然后,我们发送了一条消息给服务器,接着等待服务器的回复。最后,我们关闭了Socket。
注意:以上代码仅为示例,实际使用时,还需要进行错误处理和异常情况处理。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)