KathyLJQ 2019-10-05 16:08 采纳率: 0%
浏览 568

用多线程可以实现UDP多任务,今天尝试引用多进程实现UDP多任务时却报错 EOFError: EOF when reading a line 这是怎么回事呢?

import socket
import multiprocessing

def recv(udp_socket):
while True:
recv_data= udp_socket.recvfrom(1024)
print(recv_data[1],":",recv_data[0].decode("utf-8"))

def send(udp_socket,client_addr):
while True:
send_data= input("请输入要发送的消息:")
udp_socket.sendto(send_data.encode("utf-8"),client_addr)

def main():
udp_socket= socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
client_addr= ("127.0.0.1",7788)
udp_socket.bind(("127.0.0.1",8080))
p1=multiprocessing.Process(target=recv,args=(udp_socket,))
p2=multiprocessing.Process(target=send,args=(udp_socket,client_addr))
p1.start()
p2.start()
p1.join()
p2.join()
udp_socket.close()

if name == "__main__":
main()

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 matlab有关常微分方程的问题求解决
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?
    • ¥100 求三轴之间相互配合画圆以及直线的算法
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考