#include
#include
#pragma comment(lib,"ws2_32.lib")
using
namespace
std;
int main(int argc, char* argv)
//建立套接字
socket slisten = socket(af_inet, sock_stream, ipproto_tcp);
if (slisten == invalid_socket)
//繫結ip和埠
sockaddr_in sin;
sin.sin_family = af_inet;
sin.sin_port = htons(8888);
sin.sin_addr.s_un.s_addr = inaddr_any;
if (bind(slisten, (lpsockaddr)&sin, sizeof(sin)) == socket_error)
//開始監聽
if (listen(slisten, 5) == socket_error)
//迴圈接收資料
socket sclient;
sockaddr_in remoteaddr;
int naddrlen = sizeof(remoteaddr);
char revdata[255];
char senddata[255];
int ret;
cout
<<"等待連線...\n";
sclient = accept(slisten, (sockaddr *)&remoteaddr, &naddrlen);
if (sclient == invalid_socket)
printf("接受到乙個連線:%s \r\n", inet_ntoa(remoteaddr.sin_addr));
while (true)
if (revdata[0] == '0')
cout
<< "客戶端傳送的資料:"
cout
<< "傳送到客戶端的資料:"
<< endl;
zeromemory(senddata, 255);
cin >> senddata;
send(sclient, senddata, strlen(senddata), 0);
}closesocket(sclient);
closesocket(slisten);
wsacleanup();
return
0;}
#include
#include
#pragma comment(lib,"ws2_32.lib")
using
namespace
std;
int main(int argc, char* argv)
socket sclient = socket(af_inet, sock_stream, ipproto_tcp);
if (sclient == invalid_socket)
sockaddr_in seraddr;
seraddr.sin_family = af_inet;
seraddr.sin_port = htons(8888);
seraddr.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");
if (connect(sclient, (sockaddr *)&seraddr, sizeof(seraddr)) == socket_error)
char senddata[255];
char recdata[255];
int retval;
int ret;
cout
<< "輸入0退出"
<< endl;
while (true)
if (senddata[0] == '0')
break;
ret = recv(sclient, recdata, 255, 0);
cout
<< "接收到客戶端的資料:"
0;}
實現相互通訊,連線後可以不斷傳輸資料。輸入0後退出。
使用visual studio建立兩個工程,執行其中的exe檔案。
socket程式設計(一)
1 socket可以看成是使用者程序與核心網路協議的程式設計介面。2 socket不僅可以用於本機的程序間通訊,還可以用於網路不同主機的程序間通訊。異構架構可以不同 手機pc ipv4套介面位址結構通常也稱為 網際套接字位址結構 它以sockaddr in命名,定義在標頭檔案中 struct soc...
socket程式設計(一)
1.socket可以看成是使用者程序與核心網路協議棧的程式設計介面。2.socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊。底層那部分已經被核心實現了,也就是tcp ip協議棧已經屬於核心的一部分了,應用層是使用者要實現的,它屬於使用者程序的部分,也就是工作在使用者空間,...
Socket程式設計(一)
class program endpoint point new ipendpoint address,7788 封裝ip和埠號 server.bind point 3.開始監聽,等待客戶端做連線 server.listen 100 最大連線數是100 console.writeline serve...