#include
#include
#include
//緩衝區溢位會怎麼樣???
intmain()
//判斷請求載入的版本號的是否符合要求if(
lobyte
(wsadata.wversion)!=2
||hibyte
(wsadata.wversion)!=2
)// 設定伺服器位址
server_add.sin_family=af_inet;
server_add.sin_addr.s_un.s_addr=
inet_addr
("10.162.183.112");
server_add.sin_port=
htons
(5000);
//建立套接字,但不需要進行bind系統自動進行
socket_send=
socket
(af_inet,sock_stream,0)
;//連線伺服器if(
connect
(socket_send,
(sockaddr*
)&server_add,
sizeof
(sockaddr)
)==socket_error)
//進行聊天
while(1
) receivelen=
recv
(socket_send,receivebuf,
100,0)
;if(receivelen<0)
else
}closesocket
(socket_send)
;wsacleanup()
;return0;
}
#include
#include
intmain()
if(lobyte
(wsadata.wversion)!=2
||hibyte
(wsadata.wversion)!=2
) server_add.sin_family=af_inet;
server_add.sin_addr.s_un.s_addr=
htonl
(inaddr_any)
; server_add.sin_port=
htons
(5000);
socket_server=
socket
(af_inet,sock_stream,0)
;if(bind
(socket_server,
(sockaddr*
)&server_add,
sizeof
(sockaddr)
)==socket_error)
printf
("開始監聽");
if(listen
(socket_server,5)
<0)
length=
sizeof
(sockaddr)
;//服務程式呼叫accept函式從處於監聽狀態的流套接字sd的客戶連線請求佇列
//中取出排在最前的乙個客戶請求,並且建立乙個新的套接字來與客戶套接字建立連線通道
socket_receive=
accept
(socket_server,
(sockaddr*
)&client_add,
&length);if
(socket_receive==socket_error)
while(1
)else
printf
("please enter message:\n");
scanf
("%s"
,sendbuf)
; sendlen=
send
(socket_receive,sendbuf,
100,0)
;if(sendlen<0)
}closesocket
(socket_receive)
;closesocket
(socket_server)
;wsacleanup()
;return0;
}
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-7utcxmbp-1576686610720)(./images/1576661974880.png)] C 語言 實現的socket 通訊
server端 cpp view plain copy include include include include include include include intserverport 8000 intmain 建立ipv4位址 bzero listeningsockaddr,sizeof...
C語言實現簡單注釋轉換
我們常見的注釋轉換有兩種風格 c語言注釋風格和c 注釋風格。c語言注釋 注釋內容 特點 允許多行注釋,但不允許巢狀注釋 c 注釋 注釋內容 特點 允許巢狀注釋,但不允許多行注釋 這個程式的目的就是為了將c語言的注釋轉換成c 的注釋。我們給定乙個 input.c 程式執行後產生乙個對應的 output...
C語言實現簡單日曆
其實時間採用的是計算機起始時間1970年1月1日 紀元時間 define crt secure no warnings 1 include int months 2 13 void input int year,int month 輸入年和月 int isleapyear int year 判斷是不...