我想創建應用程序,可以通過套接字在Python中進行通信。我已經能夠在控制檯程序中實現這一點,並試圖做WPF.It是相當簡單的程序,應該作爲服務器,創建一個套接字,綁定到一個端口,然後監聽連接。我現在面臨的問題是,每次我包含套接字的代碼接受連接,我的程序掛起。我試圖在網上尋找解決方案,但似乎每個人都在做這件事,就像我在做這件事一樣。有沒有人遇到過這個問題,如果是的話,你是如何解決這個問題的。 在此先感謝您的幫助。socket.accept()掛我的程序
這是代碼:
while 1:
conn,addr=s.accept()
self.ListBox1.AddText('Got connection')
它運行正常,但如果我有行程序掛起並且必須從停止:
import wpf
import socket
import sys
import clr
import System
HOST=''
PORT = 8888
from System.Windows import Application, Window
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
class MyWindow(Window):
def __init__(self):
wpf.LoadComponent(self, 'managementToolSimulator2.xaml')
def Button1_Click(self, sender, e):
pass
def Window_Loaded(self, sender, e):
s.bind((HOST,PORT))
s.listen(5)
self.ListBox1.AddText('Listening...')
while 1:
conn,addr=s.accept()
self.ListBox1.AddText('Got connection')
pass
if __name__ == '__main__':
Application().Run(MyWindow())
如果我沒有線運行程序任務管理器。
它正在等待連接。 s.accept()是一個阻塞語句。 –
好像你有類似的問題。看看[4。和5.](http://stackoverflow.com/a/21533765/1320237) – User
感謝您的幫助..現在工作。 – techRooky