socket通信c++
时间: 2023-07-08 08:54:26 浏览: 95
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。
注意:以上代码仅为示例,实际使用时,还需要进行错误处理和异常情况处理。
阅读全文