python的socket编程小结
TCP socket编程
client客户端编程
import socket sk = socket.socket() #买个手机 sk.connect(('127.0.0.1',9000))#拨号 while True: msg = sk.recv(1024) print(msg.decode('utf-8')) if msg == b'q':break inp = input('>>>') if inp == 'q': sk.send(inp.encode('utf-8')) break sk.send(inp.encode('utf-8')) sk.close()
编码小插曲
- 需要注意的是send发送的bytes类型。
- python默认编码是Unicode
- string数据类型是Unicode,bytes是除Unicode的其他类型编码,可以是utf-8也可以是gbk
- encode('utf-8')编码 string to utf-8的byte
- decode('utf-8')解码 utf-8的bytes to string
sever编程
import socket sk = socket.socket()#买个手手机 sk.bind(('192.168.21.36',9000))#绑定手机卡 sk.listen() #监听手机 while True: conn,addr = sk.accept() # 接收到别人的电话 conn连接 ,addr地址 while True: inp = input('>>>') if inp == 'q': conn.send(inp.encode('utf-8')) break conn.send(inp.encode('utf-8')) msg = conn.recv(1024) #接收到别人发的信息 if msg == b'q':break print(msg.decode('utf-8')) conn.close() sk.close()
浙公网安备 33010602011771号