c++涓璽cp閫氫俊鎬庝箞浣跨敤
鍦–++涓繘琛孴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>
相关问答