下面是socket的初步使用,实现两个py文件的互动
这里是server文件的代码
import socket #导入模块
sk = socket.socket() #创建一个对象
sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) #防止出现重启错误
sk.bind(('127.0.0.1',8080)) #绑定端口号
sk.listen() #服务端进行监听请求
conn,addr = sk.accept() #获取链接,和地址
ret = conn.recv(1024) #听别人说话
print(ret)
conn.send(b'hello word') # 跟别人说话 必须是bytes类型的
ret = conn.recv(1024)
print(ret.decode('utf-8'))
conn.send(bytes('大碗油泼面加个蛋不要碗',encoding = 'utf-8'))
conn.close() #挂电话
sk.close() #关机
下面是client文件的代码
import socket
sk = socket.socket() #买手机
sk.connect(('127.0.0.1',8080)) #拨别人的号
sk.send(b'hi') #发送信息
ret = sk.recv(1024) #接收服务器发来的信息
print(ret)
sk.send(bytes('中午吃什么?',encoding= 'utf-8'))
ret = sk.recv(1024)
print(ret.decode('utf-8'))
sk.close() #关机
注意一般是先启动server然后再是client端,在两个文件中必须是send----recv对应的,不能同时是send或者是recv
send----recv
send----recv
recv-----send
recv-----send
这种都是可以的
不能是下面这种情况不然两个文件都会在等待中不能继续进行
send-----send
recv-------recv