C 伺服器與客戶端通訊 (網路程式設計)

2021-08-03 22:08:05 字數 2211 閱讀 8382

//伺服器

#include "stdafx.h"

#include "winsock2.h"  

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

#include

using namespace std;

int main(int argc, char* argv)

//建立套接字  

sserver = socket(af_inet, sock_stream, ipproto_tcp);

if (invalid_socket == sserver)

//伺服器套接字位址   

addrserv.sin_family = af_inet;

addrserv.sin_port = htons(4999);

addrserv.sin_addr.s_addr = inaddr_any;

//繫結套接字  

retval = bind(sserver, (lpsockaddr)&addrserv, sizeof(sockaddr_in));

if (socket_error == retval)

while (1)

//接受客戶端請求  

sockaddr_in addrclient;

int addrclientlen = sizeof(addrclient);

sclient = accept(sserver, (sockaddr far*)&addrclient, &addrclientlen);

if (invalid_socket == sclient)

while (1)

if (buf[0] == '0')

//break;

cout << "客戶端傳送的資料: " << buf << endl;

cout << "向客戶端傳送資料: ";

cin >> sendbuf;

send(sclient, sendbuf, strlen(sendbuf), 0);}}

//退出  

closesocket(sserver);   //關閉套接字  

closesocket(sclient);   //關閉套接字  

wsacleanup();           //釋放套接字資源;  

return 0;

//客戶端

#include "stdafx.h"

#include "winsock2.h"  

#include

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

using namespace std;

bool recvline(socket s, char* buf); //讀取一行資料  

int main(int argc, char* argv)

//建立套接字  

shost = socket(af_inet, sock_stream, ipproto_tcp);

if (invalid_socket == shost)

//設定伺服器位址  

servaddr.sin_family = af_inet;

servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");

servaddr.sin_port = htons((short)4999);

int nservaddlen = sizeof(servaddr);

//連線伺服器  

retval = connect(shost, (lpsockaddr)&servaddr, sizeof(servaddr));

if (socket_error == retval)

while (true)

//recvline(shost, bufrecv);  

zeromemory(bufrecv, buf_size);

recv(shost, bufrecv, buf_size, 0); // 接收伺服器端的資料, 只接收5個字元  

cout << endl << "從伺服器接收資料:" << bufrecv;

cout << "\n";

}//退出  

closesocket(shost); //關閉套接字  

wsacleanup(); //釋放套接字資源  

return 0;

}

網路程式設計(伺服器與客戶端交流)

網路程式設計 tcp協議 c s程式 伺服器與客戶端 b s是網頁與客戶端 需要使用兩個類,來編寫tcp協議的cs程式 1.serversocket 搭建伺服器 2.socket 搭建客戶端 兩方使用socket 套接字,通訊端點 進行交接 serversocket 構造方法 serversocke...

客戶端與伺服器端通訊

關係圖 傳送 邏輯管理器 處理邏輯傳送指令 指令解析管理器 根據協議xml解析指令成二進位制資料 把二進位制資料傳給伺服器 接收 伺服器傳送二進位制資料到客戶端 指令解析管理器 根據協議xml解析二進位制資料 根據解析資料對映到邏輯類來處理 2 1 3 20 2,2 21 1,1,2 指令名和指令名...

客戶端與伺服器程式通訊

一 通訊模型 目前主流的網路通訊模型有以下兩種 2 瀏覽器 伺服器結構 browser server,縮寫為b s,瘦客戶 典型的b s結構網路系統只要通過瀏覽器即可訪問,不需要在客戶端機安裝特定的軟體。二 通訊方式 1 tcp通訊 這種通訊方式是實現c s模式應用程式的主要方式。tcp是可靠的連線...