Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++socket

作者:风皇霸陵   发布日期:2025-08-08   浏览:52

#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;
}

解释说明:

  1. 创建Socket:使用 socket() 函数创建一个套接字。参数 AF_INET 表示使用 IPv4 地址族,SOCK_STREAM 表示使用 TCP 协议。
  2. 设置服务器地址:使用 sockaddr_in 结构体来设置服务器的 IP 地址和端口号。inet_addr("127.0.0.1") 将字符串形式的 IP 地址转换为二进制形式。
  3. 连接服务器:使用 connect() 函数连接到指定的服务器地址。
  4. 发送数据:使用 send() 函数向服务器发送数据。
  5. 接收数据:使用 recv() 函数从服务器接收数据。
  6. 关闭Socket:使用 close() 函数关闭套接字,释放资源。

这个示例代码展示了如何使用 C++ 和 POSIX API 创建一个简单的客户端程序,连接到本地服务器并进行基本的数据传输。

上一篇:c++ 树

下一篇:c++ weak_ptr

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++ orm框架

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ vector 清空

c++ tcp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站