socket的使用
一、服务端
1.首先建立链接 AF_INET 互联网协议 SOCK_STREAM TCP流式协议
import socket
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
2.bind,绑定IP和端口
phone.bind(('192.xxx.xxx.xxx',8080))
3.listen,监听客户端数量
phone.listen(5)
4.建立三次握手 conn : 建立三次握手后的套接字 client_addr : 客户端的ip和端口
conn,client_addr = phone.accept()
5 收/发消息 recv接收 send发送
# recv接收
data = conn.recv(1024)
# data解码decode
print('收到客户端数据',data.decode('utf-8'))
# # 变大写发送回去
conn.send(data.upper())
6 挂电话链接
conn.close()
7关机
phone.close()
二、客户端 1.首先建立链接 AF_INET 互联网协议 SOCK_STREAM TCP流式协议
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
2.connect,建立三次握手 connect((绑定IP和端口))和服务端保持一致
phone.connect(('192.xxx.xxx.xxx',8080))
3.发/收消息 必须传入二进制encode,物理层send是发送
#send发
phone.send('hello'.encode('utf-8'))
#recv收
data = phone.recv(1024)
print('收到服务端数据',data.decode('utf-8'))
4.关机
phone.close()
|