Socket的使用(簡單測試)

2022-04-29 13:00:06 字數 1600 閱讀 6144

服務端:

public class sockettest

public sockettest(int port)

public void startlisten()

catch (exception ex)

}/// /// 監聽客戶端連線

///

private void listenclientconnect()

}catch (exception)

}/// /// 接收客戶端訊息

///

/// 來自客戶端的socket

private void receivemessage(object socket)

catch (exception ex)}}

}

客戶端:

public class sockettest

public sockettest(int port)

/// /// 開啟服務,連線服務端

///

public void startclient()

,訊息:", _socket.remoteendpoint.tostring(), encoding.utf8.getstring(buffer, 0, length));

像伺服器傳送訊息

for (int i = 0; i < 10; i++)

", datetime.now.tostring());

_socket.send(encoding.utf8.getbytes(sendmessage));

"像服務傳送的訊息:", sendmessage);}}

catch (exception ex)

console.writeline("傳送訊息結束");}}

一 、socket概念

socket並不是一種協議,而是為了方便使用tcp和udp而抽象出來的一層,位於應用層和傳輸控制層之間的一組介面。

當兩台主機通訊時,必須通過socket連線,socket則利用tcp/ip協議建立tcp連線,tcp連線則更依賴於底層的ip協議,socket是控制層傳輸協議。

二、網路通訊的三要素

1. ip位址(網路上主機裝置的唯一標識)

2.埠號(定位程式)。有效埠:0~65535,其中0~1024由系統使用,開發中一般使用1024以上的埠。

3.傳輸協議(用什麼樣的方式進行互動)。常見協議:tcp(面向連線,提供可靠的服務),udp(無連線,傳輸速度快)

三、socket通訊流程

四、c#中socket的簡單實用步驟

1.服務端監聽某個埠

2.客戶端向服務端位址和埠發起socket請求

3.伺服器接收連線請求後建立socket連線,並維護這個連線佇列

4.客戶端和服務端就建立起了雙工通訊,客戶端與服務端就可以實現彼此傳送訊息。

**於:

C 中Socket的簡單使用

以前學過的socket,後來沒怎麼用過,就基本忘了,所以閒來時重新回顧學習一番.socket其實並不是乙個協議,而是為了方便使用tcp或udp而抽象出來的一層,是位於應用層和傳輸控制層之間的一組介面.當兩台主機通訊是,必須通過socket連線,socket則利用tcp ip協議建立tcp連線.tcp...

PHP使用socket的簡單示例

由於php7的公升級,環境不一樣了,很多關於socket的 出了點問題。然後需要在另乙個環境下測試php7.2下socket是否有問題,就寫了個簡單的例子 根據網上查詢的資料寫了乙個很基本的server端與client端兩個php指令碼。server端 設定一些基本的變數 需要在server端執行此...

C 之Socket的簡單使用

socket是一種通訊tcp ip的通訊介面,也就是http的抽象層,就是socket在http之上,socket也就是發動機。實際上,傳輸層的tcp是基於網路層的ip協議的,而應用層的http協議又是基於傳輸層的tcp協議的,而socket本身不算是協議,就像上面所說,它只是提供了乙個針對tcp或...