2017-10-22 13 views
1

iPhoneでポート:3000を使用してチャットアプリケーション用にソケットを設定し、正常に使用できます。しかし、ポート443を使用しようとすると接続できません。socket.ioでSSL httpsを使用し、iOSアプリケーションでswiftを使用する

私のindex.jsファイルが始まる:

var app = require('express')(); 
var https = require('https'); 
var fs = require('fs'); 

var options = { 
    key: fs.readFileSync('...path/example.com.key'), 
    cert: fs.readFileSync('...path/example.com.crt'), 
    ca: fs.readFileSync('...path/intermediate.crt') 
}; 

var server = https.createServer(options, app); 

var io = require('socket.io')(server); 

server.listen(443, function(){ 
    console.log('Listening on *:443'); 
}); 

とクライアント側で、私の接続の試みがある:

var socket: SocketIOClient = SocketIOClient(socketURL: URL(string: "https://www.example.com:443")!) 

ソケット接続がハングしていると、空のJSONを返します。この作業をするために設定ファイルなどが必要かどうかを知りたい。上記の443から3000を変更すると、すべて正常に動作しますが、SSLを使用する必要があります。

答えて

1

SSLはポート443に関連付けられていません。つまり、未使用のポートを使用してSSLを有効にすることができます。参照:https://superuser.com/questions/791218/can-i-use-another-port-other-than-443-for-ssl-communication

+0

私はポート3000を使用し、私のplistのallowArbitraryDownloadsに対してNOを選択すると、クライアントは接続をブロックします。 – alionthego

+0

私はiOSデベロッパーではありません。残念ながら、私はあなたをさらに助けることはできません。私はあなたがすでに行ったと思うが、iOS Socket.ioクライアントのドキュメントを読むべきである。 – Garre

+0

ご協力ありがとうございます。私はドキュメンテーションを読んで、GitHubサイトのクエリも出しました。うまくいけば私はそれを把握します。 – alionthego

関連する問題