C Socket通訊例子

2021-10-07 13:01:23 字數 2859 閱讀 7146

建立兩個工程檔案,server和client

#include

#include

#pragma comment(lib,"ws2_32.lib")

//靜態加入乙個lib檔案

#pragma warning(disable : 4996)

using

namespace std;

intmain()

/*繫結ip和埠*/

//配置監聽位址和埠

sockaddr_in addrlisten;

addrlisten.sin_family = af_inet;

//指定ip格式

addrlisten.sin_port =

htons

(8888);

//繫結埠號

addrlisten.sin_addr.s_un.s_addr = inaddr_any;

//表示任何ip service.sin_addr.s_addr = inet_addr("127.0.0.1");if(

bind

(listensocket,

(sockaddr*

)&addrlisten,

sizeof

(addrlisten)

)== socket_error)

/*開始監聽*/if(

listen

(listensocket,5)

== socket_error)

/*等待連線,連線後建立乙個新的套接字*/

socket revsocket;

//對應此時所建立連線的套接字的控制代碼

sockaddr_in remoteaddr;

//接收連線到伺服器上的位址資訊

int remoteaddrlen =

sizeof

(remoteaddr)

; cout <<

"等待連線..."

<< endl;

/*等待客戶端請求,伺服器接收請求*/

revsocket =

accept

(listensocket,

(sockaddr*

)&remoteaddr,

&remoteaddrlen)

;//等待客戶端接入,直到有客戶端連線上來為止

if(revsocket == invalid_socket)

else

cout <<

"客服端與伺服器建立連線成功:"

<<

inet_ntoa

(remoteaddr.sin_addr)

<< endl;

char

* senddata =

newchar

[100];

char revdata[

255]=""

;while(1

)//傳送資料

send

(revsocket, senddata,

strlen

(senddata),0

);cout <<

"伺服器: "

<< senddata << endl;

}closesocket

(listensocket)

;wsacleanup()

;}

#include

#include

#pragma comment(lib,"ws2_32.lib")

//靜態加入乙個lib檔案

#pragma warning(disable : 4996)

using

namespace std;

intmain()

//定義要連線的伺服器位址

sockaddr_in addrconserver;

addrconserver.sin_family = af_inet;

addrconserver.sin_port =

htons

(8888);

addrconserver.sin_addr.s_un.s_addr =

inet_addr

("127.0.0.1");

if(connect

(clientsocket,

(sockaddr*

)&addrconserver,

sizeof

(addrconserver)

)== socket_error)

else

printf

("客戶端建立連線成功,準備傳送資料!\n");

//傳送資料

char sendbuf[

255]=""

;while(1

)else

cout <<

"客戶端: "

<< sendbuf << endl;

//接收服務端資料

/*通過建立的連線進行通訊*/

int res;

char revserdata[

100]=""

; res =

recv

(clientsocket, revserdata,

sizeof

(revserdata),0

);if(res >0)

else

if(res ==0)

printf

("connection closed\n");

else

printf

("recv failed: %d\n"

,wsagetlasterror()

);}}

C socket同步通訊

源博主鏈結 關於c socket通訊,分為同步和非同步通訊,本文簡單介紹一下同步通訊。通訊兩端分別為客戶端 client 和伺服器 server 1 建立乙個socket對像 2 用socket對像的connect 方法以上面建立的endpoint對像做為引數,向伺服器發出連線請求 3 如果連線成功...

C Socket非同步通訊

由於平時使用unity開發,所以相對其他的程式語言,對c 比較了解,所以寫了乙個c s的socket非同步通訊程式。目前只是在c 中測試,未來會接入unity3d,這個只是我個人用來進行學習用的,所以大家不必在意使用哪個語言做後端伺服器開發更好 一些說明 1.伺服器連線池 class conn 初始...

c socket 同步開發小例子

這兩天在研究socket開發看了網上有很多這樣的例子,也寫了乙個類似的程式希望大家共同交流,環境vs2005 以下是伺服器端 伺服器端介面 form1.cs檔案 using system using system.collections.generic using system.componentm...