如何用socket實現兩臺計算機之間的通訊

2021-03-07 15:56:11 字數 2941 閱讀 7369

1樓:匿名使用者

|兩部分**,一個server,一個client。

server 端**:

#include "stdio.h"

#include "winsock2.h"

#include "iostream"

#include "string"

//#pragma ***ment(lib, "ws2_32.lib")

//define host ip and usable port.

#define host_ip 127.0.0.1

#define host_port 8080

#define ok_str "ok"

void main()

if (lobyte(wsadata.wversion)  != 1 || hibyte(wsadata.wversion) != 1)

socket socserver = socket(af_i***, sock_dgram,0);

sockaddr_in addr_srv;

//it's nest three structs as s_un_b, s_un_w and s-un.(union)

addr_srv.sin_addr.s_un.s_addr = htonl(inaddr_any);

//set protocol family

addr_srv.sin_family = af_i***;

//set host port

addr_srv.sin_port = htons(host_port);

//bind socket to  the host

//address  of a client

sockaddr_in addr_clt;

char recvbuf[100];

int fromlen = sizeof(sockaddr);

while(true)

if (lobyte(wsadata.wversion)  != 1 || hibyte(wsadata.wversion) != 1)

//request info obtained by user's input

char requeststr[100];

//build a sockeet

socket socclient = socket(af_i***, sock_dgram, 0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=i***_addr("127.0.0.1");

addrsrv.sin_family=af_i***;     //set the protocol family

addrsrv.sin_port=htons(host_port);      //set the port number

// array to store the data that server feedback.

char crecvbuf[100];

while(true)

//close the socket and cleanup the wsadata

closesocket(socclient);

wsacleanup();

//  return 0;}

2樓:匿名使用者

|我把核心**給你吧

客戶端#include

#include

void main()

if ( lobyte( wsadata.wversion ) != 1 ||

hibyte( wsadata.wversion ) != 1 )

socket sockclient=socket(af_i***,sock_stream,0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=i***_addr("127.0.0.1");

addrsrv.sin_family=af_i***;

addrsrv.sin_port=htons(6000);

char recvbuf[100];

recv(sockclient,recvbuf,100,0);

printf("%s\n",recvbuf);

send(sockclient,"this is lisi",strlen("this is lisi")+1,0);

closesocket(sockclient);

wsacleanup();

}伺服器端

#include

#include

void main()

if ( lobyte( wsadata.wversion ) != 1 ||

hibyte( wsadata.wversion ) != 1 )

socket socksrv=socket(af_i***,sock_stream,0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);

addrsrv.sin_family=af_i***;

addrsrv.sin_port=htons(6000);

listen(socksrv,5);

sockaddr_in addrclient;

int len=sizeof(sockaddr);

while(1)}

如何用socket實現android手機與手機之間的通訊

有兩種方案 1 在pc機上建立伺服器,手機與手機之間的通訊通過伺服器進行中轉 2 一部手機作為伺服器,另一部手機作為客戶端接入該手機 一般用第一種方案,示例 如下 1 pc端 serversocket new serversocket 5648 在5648埠進行偵聽 socket sk server...

如何實現一臺主機,兩臺顯示器顯示不同畫面

將桌面擴充套件設定為 擴充套件 然後把某一程式視窗,拖動過去,最大化,他就在那了,然後你這邊依然可以做別的 裝windows10的系統才可以 實戰一臺主機連線多臺顯示器顯示不同內容 一臺主機能不能在兩臺顯示器上顯示不同的畫面或者是軟體?那需要什麼,怎麼才能做到。如何讓一臺主機連線兩個顯示器並顯示不同...

如何實現兩臺不同局域中的電腦資源共享

第一復歩,要確認 共享的制物件,如果兩臺電腦bai的作業系統不是一個版du本,儘量用低版本的系zhi統提供共享功能,dao這樣方便設定操作,保證相容性。第二步,找到要共享的資料夾,通過滑鼠右擊,在彈出選單中選擇 共享 選項,系統會彈出如下配置介面,選擇網路安裝嚮導完成共享設定。第三步,如果訪問者需要...