2011-12-28 65 views
3

我正在研究運行在同一臺機器上的一對簡單的TCP服務器和客戶機。 只要服務器像普通的可執行文件一樣運行,一切正常。但是,只要我將服務器部署爲Windows服務,客戶端會一直收到SocketExecption,聲明「由於目標機器主動拒絕它127.0.0.1:6692」,因此無法建立連接。作爲TCP服務器的C#Windows服務在Windows下拒絕連接7

我對Windows 7相當新,但我認爲有一些安全限制我不知道。在測試方面,我已經停用了病毒掃描程序以及防火牆,它們什麼都沒有改變。

任何人都可以給我一個提示嗎?

+0

您可以使用運行服務的同一臺計算機telnet到此服務嗎? – 2011-12-28 11:05:05

+0

檢查運行該服務的用戶的授權。將此用戶設置爲具有成功運行應用程序的用戶作爲普通可執行文件的相同授權,以查看問題是否來自此處。 – ken2k 2011-12-28 11:08:13

+0

+1 - 我當前的一個項目有一個intraweb GUI(Delphi,不是C#,但是..),並且必須在交付時作爲服務運行。 (( – 2011-12-28 11:23:49

回答

0

1)確保服務實際上正在運行,並且它在啓動後不會停止。 2)更改運行服務的用戶(4ex到本地系統)

+0

)感謝您的回答,我沒有進一步討論這個話題,因爲Telnet無法使用這個服務,我猜這個問題就像@ ken2k所說的。 我解決了通過將應用程序部署爲僅顯示爲托盤圖標的簡單WinForms項目來解決問題。這樣通信就可以工作。 謝謝大家。 – user946924 2012-01-06 11:56:21