2011-11-01 74 views
1

服務器位於https://github.com/EmeraldHaze/Socketd/blob/master/Serv.py;該過程在https://github.com/EmeraldHaze/QFTSOM/blob/master/main.py 客戶端也在測試這是http://www.kongregate.com/games/EmeraldHaze/this-is-why-we-have-maps;端口轉發和沒有正確設置。 問題是有人連接服務器會發送類似於{「IP」:「123.456.789.012」}的內容,然後爲他創建進程,然後連接進程和用戶的IO流。現實是,這個過程輸出一些東西,用戶看到它,用戶給出一些輸入,服務器得到它(並記錄下來),然後沒有任何反應。任何想法爲什麼?緩衝區應該被刷新。爲什麼這個扭曲的服務器與進程錯誤地交互?

+2

您能否提供一個完整的*最小*示例來顯示您的問題? – jfs

回答

1

呃,我解決了這個問題。這是因爲sys.stdin.readline()在獲得\ n時會停止攔截,但是不管是扭曲的還是客戶端都會將它們剝離,這意味着儘管獲得了輸入,它仍會無限期地阻塞。