Итак, я создал приложение, которое запускает сервер сокетов на порту 4000. Это основная часть сервера (я удалил лишние функции для вопроса).
var express = require('express');
var config = require('./config');
var https = require('https');
var client = require('./redis/client');
var socketio = require('./data/socket');
var app = express();
app.use(express.static(__dirname + '/static'));
app.set('port', config.PORT);
var server = app.listen(app.get('port'), function() {
console.log('Listening on port ' + server.address().port);
});
var io = socketio.listen(server);
var users = io.on('connection', function(socket) {
var user;
console.log("connected")
}
На клиенте у меня есть следующее (также удалены избыточные обработчики и т. д.):
var socket: SocketIOClient!
init() {
socket = SocketIOClient(socketURL: "http://localhost:4000")
setupHandlers()
socket.connect()
}
func setupHandlers() {
socket.on("connect") {
data, ack in
print("connected")
self.socket.emit("addUser", self.app.data._id)
}
}
Это работало. Затем я создал новую версию проекта и экспортировал этот код, и это не сработало. Итак, я запустил свою старую версию, которая работала и была низкой, и вот она тоже не работала.
Я потратил дни, пытаясь выяснить, почему, изменяя код, тестируя, блаблабла, и ничего не вышло.
Мое единственное предположение сейчас заключается в том, что, возможно, обновление xcode или что-то еще изменило какой-то скрытый файл где-то или что-то, что препятствует подключению приложения к серверу...
Если у кого-нибудь есть идеи, в чем может быть проблема, я был бы вечно благодарен!