TcpClient類非同步接收資料

2021-07-11 21:59:44 字數 2049 閱讀 8237

tcpclient傳送資料流程例項

tcpclient為基於socket構建的用來進行tcp通訊的簡單類,主要用於tcp客戶端的編寫,可以使用同步或者非同步。傳送接收資料用networkstream。很多東西摘錄自msdn

名稱

說明tcpclient()

初始化 tcpclient 類的新例項。

tcpclient(addressfamily)

使用指定的族初始化 tcpclient 類的新例項。

tcpclient(ipendpoint)

初始化 tcpclient 類的新例項,並將其繫結到指定的本地終結點。

tcpclient(string, int32)

初始化 tcpclient 類的新例項並連線到指定主機上的指定埠。

以上是摘自msdn上的,其中addressfamily指的是使用指定的協議族,例如ipv4或者ipv6

如果要指定本地埠,用ipendpoint來進行繫結。

tcpcient

名稱說明

active

獲取或設定乙個值,該值指示是否已建立連線。

client

獲取或設定基礎 socket。

connected

獲取乙個值,該值指示 tcpclient 的基礎 socket 是否已連線到遠端主機。

networkstream

名稱說明

canread

獲取乙個值,該值指示 networkstream 是否支援讀取

canwrite

獲取乙個值,該值指示 networkstream 是否支援寫入

tcpclient

名稱說明

beginconnect(ipaddress, int32, asynccallback, object)

開始乙個對遠端主機連線的非同步請求。遠端主機由 ipaddress 和埠號 (int32) 指定。

close()

釋放此 tcpclient 例項,並請求關閉基礎 tcp 連線。

networkstream

名稱說明

beginread(byte, int32, int32, asynccallback, object)

從 networkstream 開始非同步讀取。

close()

關閉當前流並釋放與之關聯的所有資源

beginwrite(byte, int32, int32, asynccallback, object)

開始向流非同步寫入

確保tcpclient已經連線的情況下執行

private

void tcpbutton_click(object sender, eventargs e)

else

tcp.receivetimeout = 10;

//非同步連線

tcp.beginconnect(ipaddress.parse(iptextbox.text), tcpudp.verifyinputport(tcptargetporttextbox.text), connected, tcp);

}else

settcppic(tcp.connected);

tcpisopen = tcp.connected;

}}

private

void connected(iasyncresult iar)

}}

private

void asyncreadcallback(iasyncresult iar)

else

}

if (tcpisopen)

}

private

void streamwritecallback(iasyncresult iar)

C 關於TcpClient程式設計資料接收問題

當寫成兩遍或以上的 write 給服務端接收有可能只能接收到一條資訊,即下面的 客戶端資料提交1 n 應在服務端的接收段和客戶端接收段編寫相應延時 以達到資料完全接收。server code while done client code tcpclient client new tcpclient ...

C 非同步資料接收串列埠操作類

使用c 呼叫傳統32位api實現串列埠操作,整個結構特別的簡單。接收資料只需要定義資料接收事件即可。using system using system.runtime.interopservices namespace ibms.tool.io this.recvdata recvdata 返回接收...

C 非同步資料接收串列埠操作類

使用c 呼叫傳統32位api實現串列埠操作,整個結構特別的簡單。接收資料只需要定義資料接收事件即可。上傳源 我不會,需要源 的請與我 dyj057 gmail.聯絡。你也可以教我怎麼上傳源 using system using system.runtime.interopservices names...