Я создаю приложение простого единства с использованием арки client-server. Мое приложение работает нормально, пока сервер включен. Если случайно я пытаюсь запустить клиент, пока сервер не запущен, приложение объединения замерзает.Unity зависает, когда клиент пытается подключиться к серверу C#, который не запущен.
Я также использовал время ожидания соединения, как предлагалось в различных сообщениях, но без помощи.
void Awake() {
init();
}
void init() {
IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse (serverHost), serverPort);
client = new Socket (endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
try {
client.SendTimeout = 1000;
client.ReceiveTimeout = 1000;
client.Connect (endpoint);
error = "";
} catch(Exception e) {
error = e.Message;
new WaitForSeconds(1);
}
Любые предложения могут быть приветствованы.
Спасибо.
вы должны notifie пользователя, что сервер вниз и спросить попробуйте еще раз позже. –
Вы поставили точку останова (или 'Debug.Log') в catch, чтобы увидеть, было ли выбрано исключение или он просто удерживает поток в строке' client.Connect'? –