我不知道如何處理此問題。我對顯示我的代碼猶豫不決,因爲這是一項大學任務。我需要一些地方開始。C#TCP在一臺計算機上的應用程序死鎖,並且從未在另一臺計算機上出現死鎖
我正在製作一個有四個玩家和一個服務器的TCP卡遊戲。每100ms,玩家使用後臺工作人員從服務器請求更新。服務器接受一個客戶端連接並讀入一個Enumeration值(作爲Int32發送),告訴它它想要服務器發送它的動作(更新,卡片,播放器等)以及一個基於Enumeration值讀入的值(接收更新枚舉意味着它需要讀入一個Int32接下來)。服務器根據讀取的枚舉返回一個響應。
這是問題出現的地方。我有一個定製的計算機(2500K處理器,Win8 x64),當我在其上執行程序時,它將永遠循環,接受客戶端請求併發回相應的響應。完全如預期!但是,在我的筆記本電腦(Levono YogaPad,Win8 x64)上,來回交換持續大約30-50個請求,然後出現死鎖。它總是在同一個地方。服務器已讀入Enumeration並正在等待第二個值。客戶端已經過去發送枚舉和值的部分,正在等待結果。它始終穩定在我的桌面上,並始終在我的筆記本電腦上出現死鎖。我甚至放慢了程序的速度,每秒鐘更新一次,但它仍然是死鎖。我不知道該怎麼做。
我已經在每臺計算機上構建了該程序。我在桌面上創建了該程序,然後在筆記本電腦上運行該程序,但仍然出現死鎖。有沒有人有什麼建議?
非常感謝!