同步套接字通信
Socket支持下的網上點對點的通信
服務端實現監聽連接,客戶端實現發送連接請求,建立連接後進行發送和接收數據的功能
服務器端建立一個socket,設置好本機的ip和監聽的端口與socket進行綁定,開始監聽連接請求,當 接收到連接請求後,發送確認,同客戶端建立連接,開始與客戶端進行通信。
客戶端建立一個socket,設置好服務器端的IP和提供服務的端口,發出連接請求,接收到服務的確認 後,盡力連接,開始與服務器進行通信。
服務器端和客戶端的連接及它們之間的數據傳送均采用同步方式。
Socket
Socket是tcp\ip網絡協議接口。內部定義了許多的函數和例程。可以看成是網絡通信的一個端點。在 網絡通信中需要兩個主機或兩個進程。通過網絡傳遞數據,程序在網絡對話的每一端需要一個socket。
Tcp/IP傳輸層使用協議端口將數據傳送給一個主機的特定應用程序,協議端口是一個應用程序的進程 地址。傳輸層模塊的網絡軟件模塊要於另一個程序通信,它將使用協議端口,socket是運行在傳輸層的 api,使用socket建立連接發送數據要指定一個端口給它。
Socket:
Stream Socket流套接字 Socket提供雙向、有序、無重復的數據流服務,出溜大量的網絡數據。
Dgram socket數據包套接字 支持雙向數據流,不保證傳輸的可靠性、有序、無重復。
Row socket 原始套接字 訪問底層協議
建立socket 用C#
命名空間:using System.Net;using System.Net.Socket;
構造新的socket對象:socket原型:
Public socket (AddressFamily addressFamily,SocketType sockettype,ProtocolType protocolType)
AddressFamily 用來指定socket解析地址的尋址方案。Inte.Network標示需要ip版本4的地址, Inte.NetworkV6需要ip版本6的地址
SocketType參數指定socket類型Raw支持基礎傳輸協議訪問,Stream支持可靠,雙向,基於連接的數據 流。
ProtocolType表示socket支持的網絡協議
定義主機對象:
IPEndPoint類:IPEndPoint構造方法 位置:System.Net
原型:
1) public IPEndPoint(IPAddress address,int port)
2)public IPEndPoint (long address,int port) 參數1整型int64如123456,參數2端口int32