в моем простом скрипте поиска usp-сервера, когда я выбираю клиент, он делает крах единства, и я не могу найти причину;Единство падает, когда скрипт запускает
import System.Net.Sockets;
private var udp_server:UdpClient;
private var udp_client:UdpClient;
private var udp_port:int = 18000;
private var udp_broadcast_ip:IPAddress = IPAddress.Parse ("224.0.0.224");
private var udp_received_message:String;
private var udp_endpoint:IPEndPoint;
private var selected:boolean = false;
private var clientStarted:boolean = false;
function StartServer(){
udp_server = new UdpClient(udp_port, AddressFamily.InterNetwork);
udp_server.JoinMulticastGroup(udp_broadcast_ip);
udp_endpoint = new IPEndPoint(udp_broadcast_ip, udp_port);
InvokeRepeating("StartBroadcastUDP", 0.0,0.3);
}
function StartClient(){
udp_client = new UdpClient();
udp_endpoint = new IPEndPoint(IPAddress.Any, udp_port);
udp_client.Client.Bind(udp_endpoint);
udp_client.JoinMulticastGroup(udp_broadcast_ip);
/*
while(true){
yield;
var udp_received_message_byte:byte[] = udp_client.Receive(udp_endpoint);
udp_received_message = Encoding.Unicode.GetString(udp_received_message_byte);
print("Received Message: " + udp_received_message);
}*/
clientStarted = true;
}
function StartBroadcastUDP(){
var udp_broadcast_message = Encoding.Unicode.GetBytes("GAME SERVER");
if(udp_broadcast_message != ""){
udp_server.Send(udp_broadcast_message, udp_broadcast_message.Length);
}
}
function OnGUI(){
if(!selected){
if(GUI.Button(Rect(0, 0, 100, 100), "Server")){
StartServer();
selected = true;
}else if(GUI.Button(Rect(100, 0, 100, 100), "Client")){
StartClient();
selected = true;
}
}
}
function Update(){
/*
if(clientStarted){
var udp_received_message_byte:byte[] = udp_client.Receive(udp_endpoint);
udp_received_message = Encoding.Unicode.GetString(udp_received_message_byte);
print("Received Message: " + udp_received_message);
}*/
}
в обоих комментировал части я пытался сделать это, в первую я использовал время, чтобы держать его в одной и той же функции, но он упал так я mmoved его в функцию обновления, но она по-прежнему падает. Помогите?
Если код с комментариями не является необходимым для воспроизведения ошибки, зачем вообще публиковать ее? Было бы легче найти проблему, если бы вы оставили только минимальный код, который может воспроизвести проблему. –
Кроме того, что означает «сбой», точно? –
код комментария - это то, что делает сбой; когда я раскомментирую цикл while в функции StartClient, он сначала сработает, хотя это был цикл while, который заставил его сбой, поэтому я прокомментировал его и снова написал в функции обновления, поэтому, когда я говорю, что clientstarted является true в startclient(), функция обновления будет запускать код, но это также приводит к сбою, поэтому я не могу догадываться, что заставляет его терпеть крах (когда я говорю об аварии, которую я имею в виду в Windows, редактор не реагирует и, в конце концов, закрывается сам, а на андроиде просто закрывает приложение) , также, если это поможет здесь файл журнала - http://pastebin.com/JZ1kY62a – 404ErrorFree