客户端:
from socket import *
client = socket()
client.connect(('192.168.124.18',9999))
while True:
print('==========')
print('1.选择文字')
print('2.选择图片')
print('3.退出 ')
print('==========')
a = input('选择功能:')
if a =='1':
client.send(a.encode(encoding='utf8'))
re_data1 = client.recv(1024)
print(re_data1.decode(encoding='utf8'))
# continue
elif a == '2':
print('2')
client.send(a.encode(encoding='utf8'))
print('send')
re_data2 = client.recv(1024)
print(re_data2.decode(encoding='utf8'))
b = input('选择图片:')
client.send(b.encode(encoding='utf8'))
name = input('输入图片名字:')
while True:
re_data3 = client.recv(1024)
print(re_data3)
with open(name, 'ab') as f:
f.write(re_data3)
if len(re_data3) < 1024:
print('完事')
break
elif a == '3':
client.send(a.encode(encoding='utf8'))
print('GG')
break
服务器:
from socket import *
import os
server = socket()
server.bind(('192.168.124.18', 9999))
server.listen(512)
connect, addr = server.accept()
while True:
print('开始')
# connect, addr = server.accept()
# 接受消息
# while True:
result = connect.recv(1024)
value = result.decode(encoding='utf8')
print(value)
if value == '1':
print('回来了')
# 发送消息
a = input('输入消息:')
connect.send(a.encode(encoding='utf8'))
elif value == '2':
print('2')
str1 = str(os.listdir('image'))
connect.send(str1.encode(encoding='utf8'))
# connect1, addr1 = server.accept()
result1 = connect.recv(1024)
img = result1.decode(encoding='utf8')
print(img)
flag =True
if img not in os.listdir('image'):
print('傻**')
connect.send('傻**')
flag= False
if flag:
print('开始传输')
with open(img, 'rb') as f:
connect.send(f.read())
# if len(f.read())<1024:
# break
elif value =='3':
print('GG')
break