基於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 需要用於儲存的緩衝區。每乙個方向都存在乙個緩衝區 傳送緩衝區和接收緩衝區。實現緩衝區的一種方法是使用以一位元組為儲存...