iPhone没有连接到网络插座,但是模拟器可以

时间:2019-06-16 16:36:44

标签: swift sockets https websocket

物理设备无法连接到我的Web套接字。我尝试了3种不同的手机和不同的网络。不过,它可以与我的模拟器正常工作。除了从客户端上的socket.io发出的标准“无法连接到服务器”之外,我没有收到任何错误消息。

我不知道这是否是有效的指标,但我也尝试使用带有以下参数的https://www.websocket.org/

wss://converzone.htl-perg.ac.at:5134

我在那里收到“错误:未定义断开连接”。

我正在使用运行Ubuntu 16.04的ubuntu服务器。 Web套接字来自socket.io,我在客户端上使用Swift进行编码,在服务器上使用Node.js进行编码。整个事情都在我学校的服务器上运行。

// Here is an array of all connections to the server
var connections = {};

io.sockets.on('connection', newConnection);

function newConnection(socket) {

    console.log(socket.id + " connected.");

    socket.on('add-user', function(user) {

              connections[user.id] = {
              "socket": socket.id
              };

              });

    socket.on('chat-message', function(message) {

              console.log(message);

              if (connections[message.receiver]) {

              console.log("Send to: " + connections[message.receiver].socket);
              //io.sockets.connected[connections[message.receiver].socket].emit("chat-message", message);

              io.to(connections[message.receiver].socket).emit('chat-message', message);

              } else {
              console.log("Send push notification")
              sendPushNotificationToIOS(message.senderName, message, message.deviceToken, message.sound)
              }
              });

    //Removing the socket on disconnect
    socket.on('disconnect', function() {
              console.log("The client disconnected");
              console.log("The new list of clients is: " + connections)
              for (var id in connections) {
              if (connections[id].socket === socket.id) {
              delete connections[id];
              break;
              }
              }
              })
}

请理解,这个问题对我来说似乎很奇怪。我在plist中更改了AppTransferProtocol,并将端口从3000更改为5134。告诉我,除了(最小)服务器代码之外,还有什么代码似乎有意义。

0 个答案:

没有答案