C 利用行為模式實現socket非同步通訊(一)

2021-10-18 08:33:01 字數 1635 閱讀 1402

背景

專案中存在多個socket,按找型別分為兩類:一是條碼掃瞄裝置,第二種是輸送裝置。條碼掃瞄裝置負責條碼採集,是允許接收資料,不存在傳送資料的情況。輸送裝置既可以接收資料,也可以傳送資料。並且,輸送裝置存在多種動作或者流程:入、出、盤點,每種動作對應的邏輯處理都不相同。

同時考慮存在以後裝置數量和裝置型別擴充套件的情況,而且裝置動作也會增多。

根據兩種裝置型別,建立兩個類scanersocketclient和medicinesocketclient,全部繼承socketclient類。

string ip;

int port;

string name =

null

;string code =

null

;socket socket =

newsocket

(addressfamily.internetwork, sockettype.stream, protocoltype.tcp)

;public

delegatemsg onconnect;

public

delegatemsg onerr;

public

delegatemsg onsend;

public

delegatemsg onreceive;

public

delegatemsg onserverdown;

public

string ip

set}

public

int port

set}

public

string name

set}

public

string code

set}

public

socket socket

}public

void

connect()

catch

(exception e)

}

socketcache類

同時,為了管理連線物件,建立乙個socket物件的管理類。

public

static

class

socketcache

}//獲得傳送字串

public

static

string

getdata

<

t>

(t data)

return strdata;

}public

static

void

add(

socketclient client)

}public

static

void

remove

(socketclient client)

}public

static

void

clear()

public

static

socketclient

getclient

(string ip)

return

null;}

}

C 利用Socket實現C S模式通訊

首先我們要了解一下幾點內容 簡單來說 tcp控制傳輸資料,負責發現傳輸的問題,一旦有問題就發出訊號,要求重新傳輸,直到所有資料安全正確地傳輸到目的地,而ip是負責給網際網路中的每一台電腦定義乙個位址,以便傳輸。從協議分層模型方面來講 tcp ip由 網路介面層 鏈路層 網路層 傳輸層 應用層。它和o...

利用socket實現通訊

利用套接字 socket 實現通訊,client傳送兩個數,server接收並返回這兩個數的和 server.c include include include include include includeint main client.c include include include 包含套接...

利用socket實現python與C 連續通訊

python中socket的使用介紹可以參看下面這個部落格 我的實驗示例直接上 實驗後可持續通訊執行 python python版本3.6.4 作為伺服器端 import socket import time if name main server socket.socket socket.af i...