socket相关
socket居然翻译成“套接字”,这是谁翻译的,“插座”不好吗?又形象又好理解。

客户端向服务器request:
1、建立客户端:分两种:http协议: socket.socket()
https协议: sll.wrap_socket(socket.socket()) (需要用sll协议包裹)
2、建立连接:socket.socket().connect()
3、获取本地ip和端口:socket.socket().getsockname()
注意:若一个套接字与INADDR_ANY捆绑,也就是说该套接字可以用任意主机的地址,此时除 非调用connect()或accept()来连接,否则getsockname()将不会返回主机IP地址的任何 信息。除非套接字被连接,WINDOWS套接字应用程序不应 假设IP地址会从 INADDR_ANY变成其他地址。这是因为对于多个主机环境下,除非套接字被连接,否 则该套接字所用的IP地址是不可知的。
4、发送http协议:‘GET / HTTP/1.1\r\nhost:{HOST}\r\n\r\n’(protocol+host+port+path),先encode编码,然后send()
5、接收字段:socket.socket().recv(1023)
#接收1023字节,因为recv必须传入参数,可通过循环取完。
服务器与客户端socket交互:


浙公网安备 33010602011771号