#include <iostream>
#include <cstring>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
using namespace std;
int main() {
// 创建socket
int sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1) {
cerr << "Socket creation failed" << endl;
return 1;
}
// 设置服务器地址
struct 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"); // 设置IP地址
// 连接服务器
if (connect(sock, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) {
cerr << "Connection failed" << endl;
close(sock);
return 1;
}
// 发送数据
const char* message = "Hello, Server!";
send(sock, message, strlen(message), 0);
// 接收数据
char buffer[1024];
recv(sock, buffer, sizeof(buffer), 0);
cout << "Received: " << buffer << endl;
// 关闭socket
close(sock);
return 0;
}
socket()
函数创建一个套接字。参数 AF_INET
表示使用 IPv4 地址族,SOCK_STREAM
表示使用 TCP 协议。sockaddr_in
结构体来设置服务器的 IP 地址和端口号。inet_addr("127.0.0.1")
将字符串形式的 IP 地址转换为二进制形式。connect()
函数连接到指定的服务器地址。send()
函数向服务器发送数据。recv()
函数从服务器接收数据。close()
函数关闭套接字,释放资源。这个示例代码展示了如何使用 C++ 和 POSIX API 创建一个简单的客户端程序,连接到本地服务器并进行基本的数据传输。
上一篇:c++ 树
下一篇:c++ weak_ptr
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站