socket模式

服务端:

import socket
phone =socket.socket(socket.AF_INET,socket.SOCK_STREAM)#买手机
phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)#用于解决端口号被占用
phone.bind(('127.0.0.1',8083))#插电话卡,127.0.0.1是电脑本地的ip地址,如果要进行远程
#操作,基本上就是修改ip地址,ip地址+端口号,唯一指定服务器
phone.listen(5) #设置同时能接收5个来电
while True:#链接循环,保证服务端一直运行下去
print('starting.....')
conn,addr =phone.accept()#等待来电
print('电话线路是',conn) #电话的链接线路
print('客户端的手机号是',addr)
while True: #通信循环,能让双方一直通信
try:
data =conn.recv(1024) #1024字节 #通过线路接收到的信息
print('客户端发来的消息是',data.decode('utf-8'))
conn.send(data.upper()) #通过线路发送信息
except Exception:
break
conn.close() #关闭信息,即挂断电话
phone.close() #关闭手机

客户端:

import socket
phone =socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8083))#指定服务器
while True:
msg =input('>>:').strip()
if not msg:continue
phone.send(msg.encode('utf-8'))#py3中的字符串都是Unicode型,通过encode(编码)转化
# 成betys型,进行数据传输

data =phone.recv(1024)#接收到信息
print('来自服务端的消息是',data.decode('utf-8'))
phone.close()




原文地址:https://www.cnblogs.com/IQ-Python/p/6802975.html