Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java netty套接字io CORS错误:访问控制允许原点_Java_Sockets_Socket.io_Cors_Netty - Fatal编程技术网

Java netty套接字io CORS错误:访问控制允许原点

Java netty套接字io CORS错误:访问控制允许原点,java,sockets,socket.io,cors,netty,Java,Sockets,Socket.io,Cors,Netty,我有运行https的wamp服务器、由SSL保护的java netty socket.io服务器和socket.io客户端 在客户端中,我有以下代码: io.connect(url, {secure: true} ); 网址是: 在浏览器中打开Web服务器时: 我有以下错误: socket.io-client:manager reconnect attempt error +1ms socket.io.js (wiersz 1284) socket.io-client:manager will

我有运行https的wamp服务器、由SSL保护的java netty socket.io服务器和socket.io客户端

在客户端中,我有以下代码:

io.connect(url, {secure: true} );
网址是:

在浏览器中打开Web服务器时: 我有以下错误:

socket.io-client:manager reconnect attempt error +1ms
socket.io.js (wiersz 1284)
socket.io-client:manager will wait 4000ms before reconnect attempt +1ms
socket.io.js (wiersz 1284)
engine.io-client:socket socket close with reason: "transport error" +3ms
socket.io.js (wiersz 3524)
engine.io-client:polling transport not open - deferring close +1ms
socket.io.js (wiersz 3524)
socket.io-client:manager attempting reconnect +4s
socket.io.js (wiersz 1284) 
socket.io-client:manager readyState closed +3ms
socket.io.js (wiersz 1284)
socket.io-client:manager opening https://127.0.0.1:8080 +5ms
socket.io.js (wiersz 1284)
engine.io-client:socket creating transport "polling" +4s
socket.io.js (wiersz 3524)
engine.io-client:polling polling +5ms
socket.io.js (wiersz 3524)
engine.io-client:polling-xhr xhr poll +4ms 
socket.io.js (wiersz 3524)
engine.io-client:polling-xhr xhr open GET:           https://127.0.0.1:8080/socket.io/?EIO=3&transport=polling&t=1433329575886-4 +4ms
socket.io.js (wiersz 3524)
engine.io-client:polling-xhr xhr data null +6ms
socket.io.js (wiersz 3524)
GET https://127.0.0.1:8080/socket.io/?   EIO=3&transport=polling&t=1433329575886-4

    37ms    
socket.io.js (wiersz 2739)
engine.io-client:socket setting transport polling +13ms
socket.io.js (wiersz 3524)
socket.io-client:manager connect attempt will timeout after 20000 +42ms
socket.io.js (wiersz 1284)
Zablokowano żądanie do zasobu innego pochodzenia: zasady „Same Origin   Policy” nie pozwalają wczytywać zdalnych zasobów z    „https://127.0.0.1:8080/socket.io/?EIO=3&transport=polling&t=1433329575886-  4”. (nieudane żądanie CORS)
engine.io-client:socket socket error      {"type":"TransportError","description":0} +151ms
 socket.io.js (wiersz 3524)
 socket.io-client:manager connect_error +145ms
我不知道这个错误的原因。。。客户端、服务器或javascript上的错误正在阻止某些内容

我的错误是波兰语,但英语是这样的:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8008/socket.io/1/?t=1399898337175. This can be fixed by moving the resource to the same domain or enabling CORS.
但是我的资源在同一个域上

你知道如何解决这个问题吗? 我读到在标题中添加“访问控制允许源代码”可以解决这个问题。如何将其添加到netty java socket.io实现中

编辑:

我添加到标题:访问控制允许来源:“*”
而且错误仍然发生

我对NettySocketIO也有同样的问题。解决方法是更改NettySocketIO服务器配置。问题是您的NetySocketio服务器和web服务器(您托管html网页的地方)位于不同的域中,您需要将web服务器URL添加到NetySocketio服务器

这是我的密码

Configuration _config = new Configuration();

SocketIOServer _server;

public void InitServer(){

    _config.setHostname("MYNettyWebSocketSever");
    _config.setPort(9092);
    _config.setOrigin("http://WebServerHost:WebServerPort");  // or http://domain.com

    _server = new SocketIOServer(_config);
    _server.addEventListener("chatevent", ComPacket.class, (socketIOClient, comPacket, ackRequest) -> _server.getBroadcastOperations().sendEvent("chatevent", comPacket));
}

public void StartServer(){
    _server.start();
}
请注意,您需要托管您的HTML页面,仅通过双击打开HTML页面是不起作用的


如果您没有得到任何信息,请发表评论。

我有自签名SSL证书,并且我的浏览器阻止了以下请求:

所以我在浏览器中输入: 我接受了自我签名的证书,它成功了

在正常的SSL证书上,一切都是开箱即用的

我还有一些类似于_config.setOrigin(“”)的东西

因此,通过浏览器阻止SSL是原因