小编voi*_*oul的帖子

Asyncore循环和raw_input问题

我正在尝试学习asyncore模块.所以我决定开发一个聊天程序.我必须同时听网络和广播udp包.但问题是当用户键入消息时,用户无法看到其他用户发送的其他消息.我该怎么办?我的代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import asyncore
import socket

class Listener(asyncore.dispatcher):
    def __init__(self, port):
        asyncore.dispatcher.__init__(self)
        self.port = port
        self.create_socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.bind(('', self.port))

    def handle_connect(self):
        print "CONNECTED."

    def handle_read(self):
        data, addr = self.recvfrom(1024)
        print str(addr) + " > " + data

    def handle_write(self):
        pass

class Sender(asyncore.dispatcher):
    def __init__(self, port):
        asyncore.dispatcher.__init__(self)
        self.buffer = ""
        self.port = port
        self.create_socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
        self.bind(('',0))

    def handle_connect(self):
        print "CONNECTED."

    def handle_read(self):
        pass

    def handle_write(self):
        if self.buffer != "":
            sent …
Run Code Online (Sandbox Code Playgroud)

python loops raw-input asyncore

7
推荐指数
1
解决办法
2595
查看次数

标签 统计

asyncore ×1

loops ×1

python ×1

raw-input ×1