Joh*_*ohn 2 javascript sockets tcp google-chrome google-chrome-app
我正在开发一个Chrome Packaged App,它是一个客户端应用程序,通过TCP将数据发送到外部tcp服务器.
如何确保我连接的套接字使用TLS?在客户端连接的什么时候我需要添加一个参数来启用它?证书的存储方式/位置在哪里?我是否需要手动处理此操作,还是Chrome会为我执行此操作?
这是我的代码示例:
chrome.app.runtime.onLaunched.addListener(function(launchData){
chrome.sockets.tcp.create({persistent: false, name: 'my_socket'}, function(createInfo) {
var socketId = createInfo.socketId;
chrome.storage.local.set({socketId: socketId}, function(){
chrome.sockets.tcp.connect(socketId, IP_ADDRESS, PORT, function(result){
if (result < 0){
// There was an error.
} else {
chrome.sockets.tcp.setKeepAlive(socketId, true, 60, function(result){
if (result < 0){
// There was an error.
} else {
chrome.sockets.tcp.send(socketId, myData, function(sendInfo){
if (!sendInfo || sendInfo.resultCode < 0){
// There was an error.
} else {
// Data Sent, await response in chrome.sockets.tcp.onReceive
}
});
}
});
}
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
小智 5
chrome.socket不提供内置的SSL支持(但无论如何,请参阅http://crbug.com/132896),您需要在应用程序中添加SSL编码/解码.建立TCP连接后,您可以开始SSL协商(即在chrome.sockets.tcp.connect调用您的回调函数之后).
我最近使用在JS中实现SSL 的伪造javascript库向CIRC添加了SSL支持.您可以在CIRC中看到完整的镀铬插座连接包装:https://github.com/flackr/circ/blob/master/package/bin/net/ssl_socket.js
请注意,我实际上没有添加身份验证,请参阅verify: options.verify || function() { return true },但可以使用适当的验证功能替换它.
| 归档时间: |
|
| 查看次数: |
1001 次 |
| 最近记录: |