WinSock TCP通訊程式示例

2021-08-20 17:24:54 字數 2844 閱讀 4964

參考文獻:楊傳棟, 張煥遠. windows網路程式設計基礎教程[m]. 清華大學出版社, 2015.p114

伺服器端程式**:

// stdafx.h : 標準系統包含檔案的包含檔案,

// 或是經常使用但不常更改的

// 特定於專案的包含檔案

//#pragma once

#include "targetver.h"

#include #include // todo: 在此處引用程式需要的其他標頭檔案

#pragma once

// 包括 sdkddkver.h 將定義可用的最高版本的 windows 平台。

// 如果要為以前的 windows 平台生成應用程式,請包括 winsdkver.h,並將

// win32_winnt 巨集設定為要支援的平台,然後再包括 sdkddkver.h。

#include

// stdafx.cpp : 只包括標準包含檔案的原始檔

// server.pch 將作為預編譯頭

// stdafx.obj 將包含預編譯型別資訊

#include "stdafx.h"

// todo: 在 stdafx.h 中

// 引用任何所需的附加標頭檔案,而不是在此檔案中引用

server.cpp:

// server.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include "iostream"

#include "winsock2.h"

#define port 65432 //定義埠號常量 埠號範圍是0~65535

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

using namespace std;

int main(int argc, char **argv)

/***建立套接字***/

if ((sock_server = socket(af_inet,sock_stream,0)) == socket_error)

/***建立套接字***/

if ((sock_client = socket(af_inet,sock_stream,0))<0)

{ cout

memset((void *)&server_addr,0,addr_len);//位址結構清0,初始化為0

//void * __cdecl memset(_out_writes_bytes_all_(_size) void * _dst, _in_ int _val, _in_ size_t _size);

//memset(void *s,int ch,size_t n);//將s所指向的某一塊記憶體中的後n個 位元組的內容全部設定為ch指定的ascii值, 第乙個值為指定的記憶體位址,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作, 其返回值為s。

server_addr.sin_family =af_inet;

server_addr.sin_port = htons(port);

server_addr.sin_addr.s_addr = inet_addr(ip);//填寫伺服器ip位址

/*inet_addr:位址轉換函式,

winsock_api_linkage

unsigned long

wsaapi

inet_addr(

_in_z_ const char far * cp

);將cp所指的點分十進位制字串表示的ip位址轉換為32位無符號長整型,網路位元組順序。

*/ /***與伺服器建立連線***/

PHP實現websocket通訊的方法示例

執行方法 首先先修改server.php與index.html的ip 通過命令列執行 php路徑 php.exe 檔案路徑 server.php 然後通過瀏覽器開啟index.html server.php config array address 192.168.0.200 port 8000 e...

python程式例項電話本 Python示例

本例是python基礎示例。涉及python基礎,包括語法 字典型資料結構 類 引入庫 pickle實現的儲存器 異常處理等。示例是乙個 本。可以對 本進行增加 刪除 修改 獲取列表和獲取單人的。python中,pickle和cpickle都可以完成儲存器的任務,不過cpickle是c語言所寫,據稱...

程式之間通訊

訊息作用 在程序間共享資料 內部通過建立記憶體對映檔案 訊息介紹 需要用到的資料結構 型別 typedef struct tagcopydatastruct copydatastruct,pcopydatastruct 結構體引數說明 dwdata ulong 儲存乙個數值,可以用來作標誌等 lpd...