Windows进程不会通过套接字进行通信

时间:2012-06-12 01:31:56

标签: python windows sockets process irc

我一直在编写一个IRC聊天机器人,它会检查Google Voice上的SMS消息,然后通过端口6667上的套接字将它们转发到聊天室。聊天消息处理在主子网中以无限循环运行,同时进行GV检查是在一个单独的过程中完成的。实际的检查和提取工作正常,但它是套接字不起作用;没有消息发布到频道。奇怪的是,这在OS X下完美无缺,所以我不相信问题是语音处理逻辑:

def checkVoice()
    while 1:
        print "Update voice!"
        #voice processing... edited for brevity
        sendPrivateMessage(CHANNEL,message) #This doesn't work
        #more code
        time.sleep(10)

#main block
if __name__ == '__main__':
    sendPrivateMessage(CHANNEL,"Voice checking started") #This works
    p = Process(target=checkVoice)
    p.start()

我认为问题与Windows使用Python的方式有关,因为它可以与其他平台一起使用。

聊天机器人的完整代码可以在这里看到: bot.py

根据要求,这是sendPrivateMessage方法:

def sendPrivateMessage(channel, message):#private message send function
    global mute
    if mute == 0:
            IRC.send("PRIVMSG " + channel + " :" + message + "\r\n")

0 个答案:

没有答案