1. socket是什麼
socket起源於unix,而unix基本哲學之一就是「一切皆檔案」,都可以用「開啟open –> 讀寫write/read –> 關閉close」模式來操作。socket就是該模式的乙個實現,網路的socket資料傳輸是一種特殊的i/o,socket也是一種檔案描述符。socket也具有乙個類似於開啟檔案的函式呼叫:socket(),該函式返回乙個整型的socket描述符,隨後的連線建立、資料傳輸等操作都是通過該socket實現的。
常用的socket型別有兩種:流式socket(sock_stream)和資料報式socket(sock_dgram)。流式是一種面向連線的socket,針對於面向連線的tcp服務應用;資料報式socket是一種無連線的socket,對應於無連線的udp服務應用。
2. tcp的c/s架構
3. 示例**
伺服器**
package main
import (
"fmt"
"log"
"net"
"strings"
)func dealconn(conn net.conn)
//切片擷取,只擷取有效資料
result := buf[:n]
fmt.printf("接收到資料來自[%s]==>[%d]:%s\n", ipaddr, n, string(result))
if "exit" == string(result)
//把接收到的資料轉換為大寫,再給客戶端傳送
conn.write(byte(strings.toupper(string(result))))
}}func main()
defer listenner.close()
for
go dealconn(conn)}}
客戶端**
package main
import (
"fmt"
"log"
"net"
)func main()
defer conn.close() //關閉
buf := make(byte, 1024) //緩衝區
for
//切片擷取,只擷取有效資料
result := buf[:n]
fmt.printf("接收到資料[%d]:%s\n", n, string(result))}}
執行結果 演算法(二十五)
1 給定兩個不字串,求出最長公共子串行的長度。int longestpublicsubsequence string x,string y else return math.max longestpublicsubsequence x.substring 1 y.substring 0 longes...
python程式設計基礎之二十五
匿名函式 不用def 定義的函式,沒有函式名 lambda 引數1 引數2 引數3 引數n 表示式 def test print 我是測試函式 print test 函式名是變數,指向了函式物件 pf test pf變數也指向了函式物件,所以也可以通過pf呼叫test函式 pf 傳入函式 乙個函式接...
Effective C 之二十五
要點 提供不會丟擲異常的swap函式。swap自stl引入後就成為異常安全 exception safe 程式設計的基石。在條款11避免自賦值時已談到過。stl中swap的預設實現是通過臨時變數實現交換。但是對某些型別這是很低效的,例如pimpl只需要交換指標即可。之後,meyers提出在std命名...