安卓websocket支持wss

websocket支持wss需要在

WebSocketClient.connect();

之前配置

SSLContext sslContext = null;
try {
sslContext = SSLContext.getInstance("TLS");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

try {
sslContext.init(null, new TrustManager[]{
new X509TrustManager() {

@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {

}


@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) {

}

@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
}, new SecureRandom());
} catch (KeyManagementException e) {
e.printStackTrace();
}
SSLSocketFactory factory = sslContext.getSocketFactory();

try {
webSocketClient.setSocket(factory.createSocket());
} catch (IOException e) {
e.printStackTrace();
}

这样websocket就可以连接wss。

转载于:https://www.cnblogs.com/wcAndroid/p/7723403.html

WebSocket是一种在单个TCP连接上进行全双工通信的协议,常用于实时应用程序,如在线聊天、游戏等。WSSWebSocket的加密版本,通过使用SSL/TLS协议来保护数据传输,提供了安全的通信环境。 配置WSSWebSocket over SSL)通常涉及到以下几个步骤: 1. **服务器端设置**: - 使用支持SSL/TLS功能的服务器库,如Node.js的`https`模块或Java的Jetty。 - 创建一个HTTPS服务器,加载SSL证书和私钥。证书用于客户端验证服务器的身份,私钥用于加密和解密数据。 ```javascript (Node.js, using https module): const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('path/to/private.key'), cert: fs.readFileSync('path/to/certificate.crt'), port: 8443, requestCert: true, rejectUnauthorized: true, server: { ws: true }, }; https.createServer(options, (req, res) => { // WebSocket handling logic here }).listen(options.port); ``` 2. **WebSocket处理**: - 在服务器上启用WebSocket支持,监听`upgrade`请求,并转换为WebSocket连接。 ```javascript: if (req.method === 'GET' && req.url === '/ws') { req.socket.on('upgrade', (socket, head, req) => { // Upgrade to WebSocket connection const ws = new WebSocket.Server({ server: socket }); ws.on('connection', wsClient => { // Handle WebSocket client connections }); }); } ``` 3. **客户端连接**: - 客户端使用`wss`而不是`ws`来建立连接,URL前缀加上`s`表示加密。 ```javascript (JavaScript client): const wss = new WebSocket('wss://yourdomain.com/ws'); wss.addEventListener('open', () => { // Connection established }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值