由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受

来源:1-1 从零开始 系统入门python爬虫工程师-课程导学

慕无忌8377331

2024-06-09

#socket服务端
import socket
#创建套接字
server = socket.socket()

绑定IP与端口

server.bind((‘0.0.0.0’, 800))

监听端口

server.listen()

返回一个套接字对象 和地址信息

sock, addr = server.accept()
data = ‘‘
while True:
server.send(‘huanying’.encode(‘utf8’))
# 可以一次行接受多大文件 tmp_data = 接收到的数据
tmp_data = sock.recv(1024)
print(tmp_data.decode(‘utf8’))
input_data = input(’’)
sock.send(input_data.encode(‘utf8’))
# 如果tmp_data有数据为True 没有为Flase
# if tmp_data:
# # data = data + tmp_data
# # 把tmp_data.decode解码为utf8
# data += tmp_data.decode(‘utf8’)
# if tmp_data.decode(‘utf8’).startswith(’#’):
# break
# # 如果tmp_data没有数据
# else:
# # 打破跳出循环
# break

输出data

print(data)

关掉sock

#sock.close()

#socket客户端
import socket

创建套接字

client = socket.socket()

连接ip与端口

client.connect((‘192.168.2.4’, 800))
server_data = client.recv(1024)
server_data1 = server_data.decode(‘utf8’)
print(‘server response:’ + server_data1)
while True:
input_data = input(‘请输入:’)
# send方法传递的数据类型是字节串bytes类型,用encode变为(’utf8‘)
client.send(input_data.encode(‘utf8’))
server_data = client.recv(1024)
print(‘server response:’ + server_data1)
# print(‘server response:{}’.format(server_data.decode(‘utf8’)))

client.close()

写回答

1回答

bobby

2024-06-15

client端连接到服务端肯定是要设置服务端的ip的

0
0

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2378 学习 · 1158 问题

查看课程