socket 方法
receive(byte)
從繫結的 socket 套接字接收資料,將資料存入接收緩衝區。
send(byte)
將資料傳送到連線的 socket。
accept
為新建連線建立新的 socket。
注意:如果您使用的是面向連線的協議,則 remoteendpoint 屬性將獲取包含 socket 連線到的遠端 ip 位址和埠號的 endpoint。
而如果當前使用的是無連線的協議,則remoteendpoint 包含將要和 socket 通訊的預設遠端 ip 位址和埠號。
您必須將此 endpoint 強制轉換為 ipendpoint 才能檢索資訊。
然後就可以呼叫 ipendpoint.address方法來檢索遠端 ipaddress,呼叫 ipendpoint.port 方法來檢索遠端埠號。
remoteendpoint 是在呼叫 accept 或 connect 之後設定的。
如果試圖提前訪問該屬性,那麼 remoteendpoint 將引發 socketexception。
如果收到 socketexception,請使用 socketexception.errorcode 屬性獲取特定的錯誤**。
獲取此**後,您可以參考 msdn library 中的 windows sockets 第 2 版 api 錯誤**文件,獲取有關該錯誤的詳細說明。
//建立監聽套接字 使用ip4型別 ,流式傳輸, tcp鏈結 ;
socmsg = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);
//獲取埠
ipaddress address = ipaddress.parse(txtip.text);
//獲取網路節點
ipendpoint ippoint =new ipendpoint (address,int.parse(txtport.text));
//鏈結 根基埠號和ip
socmsg.connect(ippoint);
註明:
在多執行緒程式中,新建立的執行緒不能訪問ui執行緒建立的視窗控制項,如果需要訪問視窗中的控制項,可以在視窗建構函式中將checkforillegalcrossthreadcalls設定為 false
public form1()
也可以針對某一控制項進行設定,例如:
textbox.checkforillegalcrossthreadcalls = false;
學習Socket套接字
在學習之餘,因為乙個小專案,需要用到網路程式設計tcp ip的方式來連線到伺服器端的資料庫中。所以便在網上看了一些教材和帖子,學習了一下,但是還是有一些問題在此討論討論。socket是個什麼東西大家就都知道了,我就不去複製貼上啦。那咱首先介紹什麼呢?咱來介紹一下socket程式設計的標頭檔案 sys...
socket套接字學習
本地的程序間通訊 ipc 有很多種方式,但可以總結為下面4類 在本地可以通過程序pid來唯一標識乙個程序,但是在網路中這是行不通的。其實tcp ip協議族已經幫我們解決了這個問題,網路層的 ip位址 可以唯一標識網路中的主機,而傳輸層的 協議 埠 可以唯一標識主機中的應用程式 程序 這樣利用三元組 ...
套接字 Socket 定義
套接字介面可分為三類 公認埠 註冊埠 動態和 或私有埠 套接字,簡單的說就是通訊的兩方的一種約定,用套接字中的相關函式來完成通訊過程 應用層通過傳輸層進行資料通訊時,tcp和udp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個 tcp協議埠傳輸資料...