我正在尝试将dataTask设置为具有ssl证书的服务器,但出现此错误:
TIC TCP Conn Failed [2:0x1c0165340]: 12:8 Err(-65554)
HTTP load failed (error code: -1003 [12:8])
Run Code Online (Sandbox Code Playgroud)
我在使用带有https的网址,我认为我需要做其他事情以允许https连接。
这是我的代码:
func doTask( completion: @escaping (_ dictionary: NSDictionary) -> Void)->Void{
self.start()
let URL = NSURL(string: Constants.baseUrl+self.url)!
let request = NSMutableURLRequest(url: URL as URL)
request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
let jsonData = try? JSONSerialization.data(withJSONObject: self.data)
request.httpBody = jsonData
let task = URLSession.shared.dataTask(with: request as URLRequest){ data,response,error in
let cleanJson = ServerResponseValidator().isJson(data: data);
if(data != nil){
let outputStr = String(data: data!, encoding: String.Encoding.utf8) as …Run Code Online (Sandbox Code Playgroud) 我打算使用socket.io将客户端连接到服务器套接字。当我使用http时,一切正常,但是当我尝试使用https时,客户端无法连接。
我尝试使用http require('https')和证书创建服务器,但是没有用。
现在,经过一些代码更改和测试之后,这就是我的代码:
服务器index.js
var https = require('https');
var app = express();
var options = {
key: fs.readFileSync('./server-key.pem'),
cert: fs.readFileSync('./server-crt.pem'),
ca: fs.readFileSync('./ca-crt.pem'),
requestCert: false,
rejectUnauthorized: false
};
var server = https.createServer(options, app);¡
var io = require('socket.io')(server);
server.listen(3003, function() {
console.log('server up and running at %s port', 3003);
});
io.on('connection', function(client){
console.log("NUEVO CLIENTE");
client.on('event', function(data){});
client.on('disconnect', function(){});
client.on('setRoom', function(room) {
client.room = room;
client.join(room);
});
client.on('leaveRroom', function(room) {
client.leave(room);
});
});
Run Code Online (Sandbox Code Playgroud)
使用端口3003,服务器连接始终成功。
客户
$scope.socket = io.connect('https://socket.softgym.com/', { transports: ['websocket'],rejectUnauthorized: false}); …Run Code Online (Sandbox Code Playgroud) 我在 Xamarin Android 中使用 Firebase 云消息传递进行远程通知,当应用程序位于前台和后台时,通知工作正常,但如果应用程序关闭,则通知不会到达。
我一步步按照Xamarin 教程进行操作。
任何想法?