socket模块完成最简单的通信

服务端

import socket #应用socket模块
sk=socket.socket() #创建一个面向连接的soket对象
sk.bind(('192.168.14.82',9000)) #括号里为元组(ip地址,端口号) server端
sk.listen() #最大连接数

con,addr=sk.accept() #创建与客户端的连接,返回(socket连接对象,对方ip地址)
con.send(b"hello") #连接成功 服务端首先发送hello
while 1: #这里循环和下面循环是为了制作一直输入,一直可以发送的效果(未达成,有bug)
# xt=input("").encode("utf-8") # python3中 需要发送byte数据类型.
# con.send(xt) #发送
msg = con.recv(1024) #recv 接受关键字. 括号里为最大接受1024字节
print(msg)
while 1:
xt=input("").encode("utf-8")
con.send(xt)
break
con.close()

sk.close()

客户端

import socket

client=socket.socket()
client.connect(('192.168.14.82',9000)) #connect函数接收元组型数据,元组放置ip地址和端口号
msg=client.recv(1024) #接收从服务器发来的消息,为bytes类型的数据,大小为1024字节的缓冲区
print(msg.decode('utf-8')) #我们转化为str字符串类型的数据,以utf-8的形式
client.send("客户端到此一游".encode('utf-8')) #python3要求发送bytes类型的数据,所以我们得将它转换
client.close()

原文地址:https://www.cnblogs.com/luyi84895838/p/10985388.html