我想讓我的統一應用程序像服務器一樣工作,並讀取正在發送給它的一些TCP字符串。然而,我目前的代碼似乎凍結了我的程序,我不得不進入任務管理器退出。閱讀TCP數據死機Unity
可以有更多的TCP連接知識的人看看我的代碼,看看我做錯了什麼,這是什麼原因?
我的整個類如下:
public class TCP : MonoBehaviour
{
string ip_address = "127.0.0.1";
int port = 22;
// Use this for initialization
void Start()
{
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
var ipAddress = IPAddress.Parse(ip_address);
EndPoint ep = new IPEndPoint(ipAddress, port);
socket.Connect(ep);
while(socket.Connected)
{
byte[] bytes = new byte[256];
int i = socket.Receive(bytes);
Debug.Log(Encoding.UTF8.GetString(bytes));
}
}
// Update is called once per frame
void Update() {
}
}
我有一個請求,我這門學科的知識是非常有限的,如果你犯了一個建議,我怎麼能解決這個問題請你要麼把一個代碼示例,以便我可以看到如何實現它或鏈接到可以閱讀的內容以獲取更多信息?
套接字在連接後會斷開連接嗎?如果沒有,那麼你基本上已經建立了一個無限循環。 – Sam
不,因爲我想要連接的套接字不斷地向它傳輸數據。 – Sean
好的,這個類是異步執行的嗎? – Sam