socket的通訊過程
伺服器端:
01,申請乙個socket
02,繫結到乙個ip位址和乙個埠上
03,開啟偵聽,等待接收連線
客戶端:
01,申請乙個socket
02,連線伺服器(指明ip位址和埠號)
伺服器端接收到連線請求後,產生乙個新的socket(埠大於1024)與客戶端建立連線並進行通訊,原監聽socket繼續監聽。
socket的建構函式
public socket(addressfamily addressfamily,sockettype sockettype,protocoltype protocoltype)
addressfamily:指定socket用來解析位址的定址方案。例如:internetwork指示當socket使用乙個ip版本4位址連線
sockettype:定義要開啟的socket的型別
socket類使用protocoltype列舉向windows sockets api通知所請求的協議
注意:
1,埠號必須在 1 和 65535之間,最好在1024以後。
2,要連線的遠端主機必須正在監聽指定埠,也就是說你無法隨意連線遠端主機。
如:ipaddress addr = ipaddress.parse("127.0.0.1");
ipendpoint endp = new ipendpoint(addr,,9000);
服務端先繫結:serverwelcomesocket.bind(endp)
客戶端再連線:clientsocket.connect(endp)
3,乙個socket一次只能連線一台主機
4,socket關閉後無法再次使用
5,每個socket物件只能與一台遠端主機連線。如果你想連線到多台遠端主機,你必須建立多個socket物件。
socket常用類和方法
相關類:
ipaddress:包含了乙個ip位址
ipendpoint:包含了一對ip位址和埠號
方法:
socket():建立乙個socket
bind():繫結乙個本地的ip和埠號(ipendpoint)
listen():讓socket偵聽傳入的連線吃那個病,並指定偵聽佇列容量
connect():初始化與另乙個socket的連線
accept():接收連線並返回乙個新的socket
send():輸出資料到socket
receive():從socket中讀取資料
close():關閉socket,銷毀連線
}//接收伺服器訊息
void receivemsg()
catch (exception ex)}}
void showmsg(string msg)
private void btnsend_click(object sender, eventargs e)
catch (exception ex)}}
}
PWA筆記和簡單例項
一 manifest的使用和介紹 1 建立manifest.json檔案,並進行配置,常用配置引數有 應用圖示 background color 背景色 theme color 主題色 display standalone 顯示模式 2 在index.html中引入manifest.json檔案 二...
socket的簡單通訊例項
分為服務端和客服端,先看服務端吧 做乙個控制台程式,using system using system.collections.generic using system.text using system.net using system.net.sockets namespace socket r...
Python學習之路 socket簡單例項
客戶端 1 客戶端 2import socket 34 client socket.socket 相當於宣告socket型別,同時生成socket連線物件 5 client.connect localhost 6969 67 client.send b hello world 8 data clie...