用非阻塞socket來從伺服器拿資料

2021-06-04 21:35:44 字數 1090 閱讀 7896

關於如何使用阻塞socket來從伺服器拿資料請參考: 

修改阻塞socket到非阻塞的socket的注意事項:

1.非阻塞的socket的是在阻塞的socket的基礎上設定標識而成。

2.使用非阻塞的socket的時候要注意,send完命令之後不能立即recv,這個時候資料還沒到,需要用select來判斷資料有效與否 或者先sleep一段時間。

3.關於socket的recv,他每次會把接受到的資料填充進recvbuff裡面,填充長度為返回值(假設recvbytes )。如果在recv之前recvbuff裡面有資料,recv只會把recvbuff裡面長度為 recvbytes  的部分資料重寫,後面的不予理會。

參考: socket::select : 

用socket來從伺服器拿資料

用到的技術 socket.用到的工具 vs2008 因為我們是客戶端,所以我們只需要建立與伺服器端的socket,傳送請求,處理返回的包就可以了。q1 本人一開始不懂socket,從網上尋找到可以跨平台的socket 但是不知道函式呼叫順序。a1 首先要在windows下面初始化winsock,可以...

python 非阻塞tcp伺服器

importsocket importtime defmain 建立乙個 tcp伺服器端 tcp server socket.socket socket.af inet,socket.sock stream 復用tcp server.setsockopt socket.sol socket,sock...

非阻塞web靜態伺服器

單程序但鏈結非阻塞web靜態伺服器 author bre athy contact productware pycharm file 單程序但鏈結非阻塞web靜態伺服器.py time 2019 11 9 5 33 import socket,re defservice client new soc...