Как я могу отключить запрос междоменной политики?
Я начал работать над Unity3D. Я просто хочу отправлять / получать данные между Unity3D и Raspberry Pi. Я использовал сокет программирования для этого. Но когда я пытаюсь подключить мой Raspberry Pi, Unity отправляет мне сообщение об ошибке "Невозможно подключиться, так как не найдена допустимая междоменная политика". Зачем нужна междоменная политика. Я просто хочу отправить или получить данные между моим компьютером и малиной. Можно ли отключить запрос междоменной политики или как решить эту проблему.
public static void StartClient() {
byte[] bytes = new byte[1024];
int remotePort = xxxx; // My raspberry port
try {
IPHostEntry ipHostInfo = Dns.GetHostEntry("xxx.xxx.xxx.xxx"); //-->> my raspberry IP
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress,remotePort);
Socket mySocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
try {
mySocket.Connect(remoteEP);
print("Socket connected to" + mySocket.RemoteEndPoint.ToString());
byte[] msg = Encoding.ASCII.GetBytes("This is a test<EOF>");
int bytesSent = mySocket.Send(msg);
int bytesRec = mySocket.Receive(bytes);
print("Echoed test = " + Encoding.ASCII.GetString(bytes,0,bytesRec));
mySocket.Shutdown(SocketShutdown.Both);
mySocket.Close();
}
catch (ArgumentNullException ane) {
print("ArgumentNullException : " + ane.ToString());
}
catch (SocketException se) {
print("SocketException : " + se.ToString());
}
catch (Exception e) {
print("Unexpected exception : " + e.ToString());
}
}
catch (Exception e) {
Console.WriteLine( e.ToString());
}
}
1 ответ
Вы не можете отключить это. Это защита безопасности по запросу WWW и сокетов. Вы должны сделать на своем компьютере авторизацию для этих подключений. Порт по умолчанию для этой проверки безопасности 843.
Вы можете использовать прилагаемую примерную программу из Unity, существующую в папке установки /Data/Tools/SocketPolicyServer, или можете сделать свой собственный сервис запущенным, прослушивая этот порт или включающий файл xml, если у вас есть ваш ПК как веб-сервер что-то вроде этого:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="1200-1220"/>
</cross-domain-policy>"