C++ socket通讯并循环发送pTCPSocket->write
时间: 2024-03-23 07:35:58 浏览: 57
您好!关于 C++ socket 通讯并循环发送数据的问题,我可以给您提供以下代码作为参考:
```c++
#include <iostream>
#include <cstring>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
using namespace std;
int main() {
int client_fd = socket(AF_INET, SOCK_STREAM, 0);
if (client_fd < 0) {
cout << "Create socket failed" << endl;
return -1;
}
sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8080);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
if (connect(client_fd, (sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
cout << "Connect to server failed" << endl;
return -2;
}
for(int i = 0; i < 10; i++) {
string message = "Hello, server!";
if (write(client_fd, message.c_str(), message.size()) < 0) {
cout << "Send message failed" << endl;
return -3;
}
cout << "Send message success: " << message << endl;
sleep(1);
}
close(client_fd);
return 0;
}
```
在这个例子中,我们先创建了一个客户端 socket,然后指定了连接的目标服务器地址和端口号。接下来,我们使用循环发送数据的方式向服务器发送了 10 条消息,并且每发送一条消息就睡眠 1 秒钟,以便观察效果。
需要注意的是,这个例子只是一个简单的示例,并没有做任何错误处理和异常处理。在实际应用中,我们需要根据具体情况进行相应的处理,以确保程序的健壮性和可靠性。
希望我的回答能够对您有所帮助!
阅读全文