服务器端代码
import socket
# 哦嚯
server = socket.socket() # 声明对象
server.bind(("自己的ip地址", 7777)) # 绑定ip和端口
server.listen(5) # 开启监听
conn, addr = server.accept() # conn:服务器 addr: 接受的客户端
flag = 1
while flag:
data = conn.recv(1024).decode("utf-8") # 服务器接收数据,以'utf-8'解码所接收的信息
print(f"{addr}:", data) # 打印输出
msg = input(">>>") # 输入想要发送的信息
data = conn.send(f"{msg}".encode("utf-8")) # 发送信息,以'utf-8'编码
if msg == "再见": # 输入再见,停止发送接受
flag = 0
conn.close() # 关闭建立的连接
server.close() # 关闭服务器
客户端代码
import socket
# 哦嚯
client = socket.socket()
client.connect(("自己的ip地址", 7777)) # 与服务器建立连接
print("与服务器连接成功!")
flag = 1
while flag:
msg = input(">>>")
client.send((f"{msg}".encode("utf-8"))) # 发送信息
data = client.recv(1024).decode("utf-8") # 接收信息
print(data)
if data == "再见": # 接收到再见,关闭连接
flag = 0
client.close()
运行结果截图:
服务器端:
客户端:
windows下可以使用ipconfig命令查找到自己的ip
需要注意的地方:
- ip地址部分需要使用自己的地址
- bind绑定时,传入的是元组参数
- 端口号不要选用小于1024的端口,这些端口一般已经被系统占用
- 发送要编码(encode),接受要解码(decode)