go語言基礎 TCP程式設計 客戶端和伺服器

2021-08-19 13:58:35 字數 1699 閱讀 1093

tcp程式設計的操作步驟:

伺服器和客戶端

服務端:

step1:指定自己的ip(本機ip)和埠

net.resolvetcpaddr("tcp4",string)-->tcpaddr  

step2:獲取***,監聽埠

listener,err:=net.listentcp(tcpaddr)  

step3:接收客戶端的連線請求

listener.accept()-->conn

step4:資料互動

conn.read()或者conn.write() 讀或者寫

step5:關閉資源

conn.close() 

packagemain

import(

"net"

"fmt"

)funcmain() }

fmt.printf("%t\n"

, conn) //*net.tcpconn

fmt.println("已有客戶端連入。。"

,conn.remoteaddr())

//step4:資料互動

bs := make( byte

,512)

n,err:=conn.read(bs)

fmt.println(n,err)

fmt.println("客戶端說:"

, string(bs[:n]))

conn.write( byte("我是伺服器"))

//step5:關閉資源

conn.close()

}

客戶端:

step1:指定伺服器的ip和埠

step2:申請連線指定伺服器

net.dialtcp("tcp",tcpaddr)-->tcpconn

step3:資料互動

tcpconn.read()或者tcpconn.write()

step4:關閉資源

tcp.close()

packagemain

import(

"net"

"fmt"

)funcmain() }

fmt.printf("%t\n"

, tcpconn) //*net.tcpconn

fmt.println("客戶端已經連線成功。。。")

,tcpconn.remoteaddr())

//step3:資料互動

n,err:=tcpconn.write( byte("hello"))//寫出的位元組的數量

fmt.println(n,err)

fmt.println("資料已經寫出。。")

bs := make( byte

,512)

n,err=tcpconn.read(bs)

fmt.println(string(bs[:n]))

//step4.關閉資源,斷開連線

tcpconn.close()//}/*

客戶端是你自己

客戶端讀取鍵盤輸入,傳遞給服務端一句話

服務端是你同桌

服務端讀取鍵盤輸入,傳遞給客戶端一句話

*/

Go語言中Socket通訊之Tcp客戶端

1 用法 1 定義遠端ip位址。使用net.resolvetcpaddr 方法,定義乙個tcp位址,做為目標連線位址。2 呼叫net.dialtcp tcp nil,remoteaddress 方法,建立與remoteaddress的連線。這裡的三引數分別是 協議名 本地ip 遠端ip 3 可以學著...

網路程式設計之TCP客戶端開發和TCP服務端開發

建立客戶端套接字物件 和服務端套接字建立連線 傳送資料 接收資料 關閉客戶端套接字 import socket if name main 建立tcp客戶端套接字 1.af inet 表示ipv4 2.sock stream tcp傳輸協議 tcp client socket socket.socke...

Socket程式設計 tcp服務端和客戶端通訊

1.基於tcp協議的socket通訊類似於b s架構,面向連線,但不同的是伺服器端可以向客戶端主動推送訊息。使用tcp協議通訊需要具備以下幾個條件 1 建立乙個套接字 socket 2 繫結伺服器端ip位址及埠號 伺服器端 3 利用listen 方法開啟監聽 伺服器端 4 利用accept 方法嘗試...