Curry_warrior 2019-12-09 11:11 采纳率: 50%
浏览 1040
已采纳

Python多进程问题的报错问题

小弟想通过多进程实现客户端给服务器发送信息,服务器同时接收多个信息。但是会收到以下报错:

OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

看网上说是进程停止又重启造成的结果

小弟贴下自己的代码,麻烦大家看下

import multiprocessing
from socket import
import time

server_name='172.20.53.211'
port_number1=12002
port_number2=12003



def process_one():
    server_socket1 = socket(AF_INET, SOCK_DGRAM)
    server_socket1.bind(('', port_number1))
    data_receive1, client_address = server_socket1.recvfrom(1024)
    server_socket1.close()
    print(data_receive1,1)

def process_two():
    server_socket2 = socket(AF_INET, SOCK_DGRAM)
    server_socket2.bind(('', port_number2))
    data_receive2, client_address = server_socket2.recvfrom(1024)
    server_socket2.close()
    print(data_receive2,2)


p1=multiprocessing.Process(target=process_one())
p1.start()
p2=multiprocessing.Process(target=process_two())
p2.start()

以上是服务器端的代码

以下是客户端发送代码

from socket import *
import time
server_name='172.20.53.211'
port_number1=12002
port_number2=12003
client_socket = socket(AF_INET, SOCK_DGRAM)
f1=open('1.txt','rb')
fcontent=f1.read()
client_socket.sendto(fcontent,(server_name, port_number1))
time.sleep(0.2)
client_socket.sendto('a'.encode('UTF-8'),(server_name, port_number2))
client_socket.close()

求大佬指出哪里错了,谢谢

  • 写回答

1条回答 默认 最新

  • 空白如空 2019-12-09 11:35
    关注

    multiprocessing.Process 写错了
    方法一:target=函数加()的话,在创建的时候就调用了函数,就不用调用start()方法

    p1=multiprocessing.Process(target=process_one())
    p2=multiprocessing.Process(target=process_two())
    

    方法二:target=函数加的话,不要加(),就用调用start()方法

    p1=multiprocessing.Process(target=process_one)  #注意target=process_one不要带()
    p1.start()
    p2=multiprocessing.Process(target=process_two)
    p2.start()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32f407使用DMA问题
  • ¥15 您好 这个API接口该怎么弄 网站搭建好了 API也有 现在就不知道该怎么填写API 不知道怎么用
  • ¥88 用uniapp写一个多端的程序,用到高德地图,用高德的JSAPI吗?
  • ¥20 关于#c++#的问题:水果店管理系统
  • ¥30 dbLinq最新版linq sqlite
  • ¥20 对D盘进行分盘之前没有将visual studio2022卸载掉,现在该如何下载回来
  • ¥15 完成虚拟机环境配置,还有安装kettle
  • ¥15 2024年全国大学生数据分析大赛A题:直播带货与电商产品的大数据分析 问题5. 请设计一份优惠券的投放策略,需要考虑优惠券的数量、优惠券的金额、投放时间段和投放商品种类等因素。求具体的python代码
  • ¥15 有人会搭建生鲜配送自营+平台的管理系统吗
  • ¥15 用matlab写代码