這個程式碼執行後,Unity 執行時會當掉,但其實不是。
這是因為本程式碼只有單執行緒,他正在等待客戶端連線,
所以才有當掉的感覺 當客戶端連線後,Unity 就可以正常跑了 ...
using UnityEngine;
using System.Collections;
using System;
using System.Net;
using System.Net.Sockets;
using System.IO;
public class NewBehaviourScript : MonoBehaviour {
void Start () {
try {
TcpListener tcp_Listener = new TcpListener(1024); // Port = 1024
tcp_Listener.Start();
TcpClient client = tcp_Listener.AcceptTcpClient(); // 客戶端連線後,程式才會往下執行
NetworkStream ns = client.GetStream();
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
print (sr.ReadLine()); // 從客戶端讀取訊息並印出
sw.WriteLine("這是伺服器傳訊息給客戶端的訊息...");
} catch (Exception ex) {
print("Error : " + ex.StackTrace.ToString());
}
}
}