shell建立socket連線

2021-10-01 14:29:23 字數 583 閱讀 9500

udp:/dev/udp/host/port

tcp:/dev/tcp/host/port

exec 8<>/dev/udp/10.0.2.15/12345

就相當於建立乙個udp socket。

傳送報文:

echo 「」 >&8

使用tcpdump抓包:

00:48:18.291124 ip 10.0.2.15.40371 > 10.0.2.15.12345: udp, length 1 00:48:18.291145 ip 10.0.2.15 > 10.0.2.15: icmp 10.0.2.15 udp port 12345

exec 8<>/dev/tcp/127.0.0.1/11211 #使用檔案描述符8以<>(《讀》寫)方式,開啟127.0.0.1的tcp11211埠

ls -l /proc/self/fd #檢視開啟的連線8

echo -e 「stats」 >&8 #向socket寫入資料

cat <&8 #從socket讀入資料

exec 8<&- #關閉socket讀

exec 8>&- #關閉socket寫

socket連線建立步驟

1 客戶端socket 首先呼叫socket類的建構函式,以伺服器的指定的ip位址或指定的主機名和指定的埠號為引數,建立乙個socket流,在建立socket流的過程中包含了向伺服器請求建立通訊連線的過程實現。建立socket 客戶端物件 socket s new socket 127.0.0.1 ...

建立socket連線時出現的問題

在編寫c語言socket程式時,程式如下 利用socket的tcp client 此程式會連線tcp server,並將鍵盤輸入的字串傳送給server。tcp server範例請參考listen include include include include include include inc...

Socket連線 TCP UDP HTTP連線詳解

我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應 用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如http ftp telnet等,也可以自己 定義應用層協議。web使用http協議作應用層協議,以封裝http文字資...