扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

c++涓璽cp閫氫俊鎬庝箞浣跨敤

扬州沐宇科技
2024-03-02 09:54:15
c++

鍦–++涓繘琛孴CP閫氫俊锛岄€氬父浣跨敤Socket缂栫▼鏉ュ疄鐜般€備互涓嬫槸涓€涓畝鍗曠殑绀轰緥浠g爜锛岀敤浜庡缓绔婽CP杩炴帴骞跺彂閫佸拰鎺ユ敹鏁版嵁锛?/p>

#include <iostream>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>

int main() {
    // 鍒涘缓socket
    int client_socket = socket(AF_INET, SOCK_STREAM, 0);
    
    if (client_socket < 0) {
        std::cerr << "Error creating socket" << std::endl;
        return 1;
    }
    
    // 璁剧疆鏈嶅姟鍣ㄥ湴鍧€鍜岀鍙?/span>
    struct sockaddr_in server_address;
    server_address.sin_family = AF_INET;
    server_address.sin_port = htons(12345);
    server_address.sin_addr.s_addr = inet_addr("127.0.0.1");
    
    // 杩炴帴鍒版湇鍔″櫒
    if (connect(client_socket, (struct sockaddr *)&server_address, sizeof(server_address)) < 0) {
        std::cerr << "Error connecting to server" << std::endl;
        return 1;
    }
    
    // 鍙戦€佹暟鎹?/span>
    const char *message = "Hello from client!";
    if (send(client_socket, message, strlen(message), 0) < 0) {
        std::cerr << "Error sending message" << std::endl;
        return 1;
    }
    
    // 鎺ユ敹鏁版嵁
    char buffer[1024] = {0};
    if (recv(client_socket, buffer, 1024, 0) < 0) {
        std::cerr << "Error receiving message" << std::endl;
        return 1;
    }
    
    std::cout << "Server response: " << buffer << std::endl;
    
    // 鍏抽棴socket
    close(client_socket);
    
    return 0;
}

鍦ㄨ繖涓ず渚嬩腑锛屾垜浠鍏堝垱寤轰竴涓鎴风socket锛岀劧鍚庤缃湇鍔″櫒鍦板潃鍜岀鍙c€傛帴涓嬫潵锛屾垜浠娇鐢?code>connect鍑芥暟杩炴帴鍒版湇鍔″櫒锛屽苟鍙戦€佷竴涓秷鎭€傛渶鍚庯紝鎴戜滑鎺ユ敹鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲锛屽苟鍏抽棴socket銆?/p>

璇锋敞鎰忥紝杩欏彧鏄竴涓畝鍗曠殑绀轰緥锛屽疄闄呮儏鍐靛彲鑳戒細鏇村鏉傘€傚湪瀹為檯搴旂敤涓紝鎮ㄥ彲鑳介渶瑕佸鐞嗛敊璇€佽秴鏃躲€佺矘鍖呯瓑闂銆傛偍杩樺彲浠ヤ娇鐢ㄧ涓夋柟搴擄紝濡侭oost.Asio锛屾潵绠€鍖朤CP閫氫俊鐨勫疄鐜般€?/p>

扫码添加客服微信