多线程服务端和客户端通信
生活随笔
收集整理的這篇文章主要介紹了
多线程服务端和客户端通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??強烈推薦人工智能學習網站??? ? ? ? ?
在不同的機器上可以用TCP進行通信,在同一臺機器上也可以,用客戶端/服務端模式通信耦合度更低,golang示例多線程服務端和客戶端通信,用C++寫也可以
package mainimport ("net""fmt""time" )func server(){listen_sock, err := net.Listen("tcp", "0.0.0.0:8888")if err != nil {fmt.Println("listen error")return;}defer listen_sock.Close()conn, err := listen_sock.Accept()if err != nil {fmt.Println("accept error")return;}defer conn.Close()buf := make([]byte, 100)for(true){n, err := conn.Read(buf)if err != nil {fmt.Println("conn closed")return}fmt.Println("msg size:", n, string(buf[0:n]))} }func client(){conn, err := net.Dial("tcp", "127.0.0.1:8888")if err != nil {fmt.Println("check server")return}defer conn.Close()for(true){s := []byte("abc")conn.Write(s)time.Sleep(1 * time.Second)} }func main(){go server()go client()time.Sleep(10 * time.Minute) }結果:
go run main.go msg size: 3 abc msg size: 3 abc msg size: 3 abc?
總結
以上是生活随笔為你收集整理的多线程服务端和客户端通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 异步调用之内存拷贝
- 下一篇: docker搭建常见组件