c 下 簡易C S持續網路程式原始碼

2021-10-06 20:39:12 字數 2458 閱讀 8711

#define win32_lean_and_mean //避免早期的庫對現有的庫的影響——函式過載出問題

#define _winsock_deprecated_no_warnings

#include#include//包含windows api 標頭檔案

#include//最新的windows socket 標頭檔案

using namespace std;

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

int main()

; _sin.sin_family = af_inet;//ipv4

_sin.sin_port = htons(4567);//host to net unsigent short

_sin.sin_addr.s_un.s_addr = inaddr_any;//inet_addr("127.0.0.1");

if (socket_error == bind(_sock, (sockaddr*)&_sin, sizeof(_sin)))

else

// 3. 監聽網路埠 listen

if (socket_error == listen(_sock, 5))//5 — 5個連線

else

// 4. 等待接受客戶端連線 accept

sockaddr_in clientaddr = {};

int naddrlen = sizeof(sockaddr_in);

socket _csock = invalid_socket;

_csock = accept(_sock, (sockaddr*)&clientaddr, &naddrlen);

if (invalid_socket == _csock)

cout << "新客戶端加入:" << "socket=" << _csock << "\tip:" << inet_ntoa(clientaddr.sin_addr) << endl;

char _recvbuf[128] = {};

while (true)

cout << "收到命令:" << _recvbuf << endl;

//6、處理請求

if (0 == strcmp(_recvbuf, "getname"))

else if (0 == strcmp(_recvbuf, "getage"))

else

}//8. 關閉socket closesocket

closesocket(_sock);

//清楚windows socket環境

wsacleanup();

cout << "任務結束" << endl;

system("pause");

return 0;

}

#define win32_lean_and_mean //避免早期的庫對現有的庫的影響——函式過載出問題

#define _winsock_deprecated_no_warnings

#include#include//包含windows api 標頭檔案

#include//最新的windows socket 標頭檔案

using namespace std;

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

int main()

else

//2. 連線伺服器 connect

sockaddr_in _sin = {};

_sin.sin_family = af_inet;

_sin.sin_port = htons(4567);

_sin.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");

int ret = connect(_sock, (sockaddr*)&_sin, sizeof(sockaddr_in));

if (socket_error == ret)

else

while (true)

; cin >> cmdbuf;

//4、處理請求

if (0 == strcmp(cmdbuf, "exit"))

else

//6. 接受伺服器資訊 recv

char recvbuf[256] = {};

int nlen = recv(_sock, recvbuf, 256, 0);

if (nlen > 0)

}cout << "任務結束,關閉客戶端!" << endl;

//7. 關閉socket closesocket

closesocket(_sock);

//清除windows socket環境

wsacleanup();

getchar();

return 0;

}

簡易cad匯出pdf程式原始碼

由於工作關係時常用到cad轉pdf defun c pdf all boxlst boxlst i maxpt minpt n out id print device print front print print space print style print unit princ n此程式只能應...

網路流(c 原始碼)

網上雖然有網路流的 但是總是無法編譯或者執行出錯 我wa n久的竟然是少了個cap u v flow u v 如下 以三為例 include include using namespace std int n int vis 3 int pre 3 int flow 3 3 int cap 3 3 ...

C 網路程式設計WinSock原始碼

設計乙個基本的網路伺服器有以下幾個步驟 1 初始化windows socket 2 建立乙個監聽的socket 3 設定伺服器位址資訊,並將監聽埠繫結到這個位址上 4 開始監聽 5 接受客戶端連線 6 和客戶端通訊 7 結束服務並清理windows socket和相關資料,或者返回第4步 標頭檔案 ...