2015-12-15 27 views
0

我正在運行服務器套接字project 試圖偵聽端口2201.當我第一次運行該項目時,它工作正常,我得到了消息:該進程無法訪問該文件.exe,因爲它正在被另一個進程使用

「等待連接......」

當我關閉該項目,並試圖重新運行我收到以下消息:

錯誤CS2012:無法打開'C:... \ ... \ ... sockets.exe'進行寫入 - '進程無法訪問文件'C:... \ ... \ ... sockets.exe',因爲它正在被另一個進程使用。'

套接字是項目的名稱。這裏發生了什麼?

編輯:我可以用startListening()方法創建一個stopListening方法嗎?服務器沒有收聽時,我收到了同樣的消息。

+0

禁用您的反惡意軟件或進行排除,然後重試。如果它是Avast或AVG,那麼完全清除它。 –

回答

1

您正試圖重新編譯它,因此文件必須打開才能寫入。可能該程序沒有終止,只有它的窗口被隱藏,因此它被操作系統鎖定。你如何「關閉項目」?

+0

是有道理的。但我怎樣才能停止該計劃?如果我想停止從該端口收聽,我該怎麼辦? –

+0

@JoseRamon如果它是WinForm,則調用'Close()'方法。停止監聽端口和關閉程序(exe)是不同的事情。 – i486

+0

它是控制檯應用程序。我該如何阻止這個失蹤的港口? –

1

你可能沒有妥善處置一個方法嗎?與流一樣,您可以將它們包裝在使用語句中,以便正確處理它們。

相關問題