基於TCP協議的傳送和接收端

2021-03-31 12:15:34 字數 2911 閱讀 7521

基於tcp協議的傳送和接收端

tcp協議的接收端

using

system.***.sockets ; //

使用到tcplisten類

using

system.threading ; //

使用到執行緒

using

system.io ; //

使用到streamreader類

int port = 8000; //

定義偵聽埠號

private thread ththreadread; //

建立執行緒,用以偵聽埠號,接收資訊

private tcplistener tltcplisten; //

偵聽埠號

private

bool blistener = true; //

設定標示位,判斷偵聽狀態

private ***workstream nsstream; //

建立接收的基本資料流

private streamreader srread;

private system.windows.forms.statusbar statusbar1;

private system.windows.forms.button button1;

private system.windows.forms.listbox listbox1; //

從網路基礎資料流中讀取資料

private tcpclient tcclient ;

private

void listen ( )

string stime = datetime.now.toshorttimestring ( ) ; //

獲取接收資料時的時間

listbox1.items.add ( stime + " " + **essage ) ;

} }

catch ( system.security.securityexception )

}

//開始監聽

private

void button1_click(object sender, system.eventargs e)

//清理所有正在使用的資源。

protected

override

void dispose( bool disposing )

catch{}

if( disposing )

}

base.dispose( disposing );

}

tcp協議的傳送端

using

system.***.sockets; //

使用到tcplisten類

using

system.threading; //

使用到執行緒

using

system.io; //

使用到streamwriter類

using

system.***; //

使用ipaddress類、iphostentry類等

private streamwriter swwriter; //

用以向網路基礎資料流傳送資料 

private ***workstream nsstream; //

建立傳送資料的網路基礎資料流 

private tcpclient tcpclient;

private system.windows.forms.button button1;

private system.windows.forms.textbox textbox1;

private system.windows.forms.button button2;

private system.windows.forms.textbox textbox2;

private system.windows.forms.statusbar statusbar1;

private system.windows.forms.label label1;

private system.windows.forms.label label2; //

通過它實現向遠端主機提出tcp連線申請 

private

bool tcpconnect = false; //

定義識別符號,用以表示tcp連線是否建立 //

連線 private

void button1_click(object sender, system.eventargs e)

catch

//判斷給定的ip位址的合法性

iphostentry iphost ;

try

catch//

string shostname = iphost.hostname ;

try

catch

}

//

傳送private

void button2_click(object sender, system.eventargs e)

else

}

//

清理所有正在使用的資源。

protected

override

void dispose( bool disposing )

if( disposing )

}

base.dispose( disposing );

}

TCP協議接收與傳送資料

tcp 建立連線通道 資料無限制 速度慢可靠 tcp協議傳送資料 1 建立傳送端的socket物件 這一步如果成功,就說明連線已經建立成功了。2 獲取輸出流,寫資料 3 釋放資源 public static void main string args throws ioexception tcp協議...

Tcp設定傳送和接收超時

linux和windows下用setsockopt設定so sndtimeo,so rcvtimeo的引數的一點區別 udp的socket在某些情況 如對方關閉時,本地可能sendto不出去資料,然後recvfrom就會被阻塞,這時就需要設定 這兩個引數的值提高程式質量。linux struct t...

傳輸控制協議TCP 傳送 接收緩衝區

1.tcp 是乙個面向流的協議。tcp 允許傳送程序以位元組流形式傳遞資料,並且接收程序也以位元組流形式接收數 據。2.因為傳送和接收程序可能以不同的速度寫入和讀出資料,所以 tcp 需要用於儲存的緩衝區。每乙個方向都存在乙個緩衝區 傳送緩衝區和接收緩衝區。實現緩衝區的一種方法是使用以一位元組為儲存...