我想知道我对zeromq的想法是否正确?我正在考虑使用zeromq编写一个点对点聊天应用程序但是当我进一步阅读它时,zeromq似乎比使用的更低级别(tcp套接字).zeromq是否适合编写点对点聊天应用程序,或者此用例不适用?
我想使用WebRTC数据通道在多个对等点之间建立网络。
什么是用于高效通信和视频会议的最佳拓扑?
现在我在做什么?
如果有10个同位体还活着,那么我将在每个同位体上创建10个同位体连接。
这种方法面临着几个问题。
如果连接了对等方,则应向每个现有对等方发送要约,并且应回答每个对等方要约。因此存在问题。
有替代方法吗?
我想做什么?
我想实现一个网状拓扑,即在对等连接上创建可以相互通信的对等连接。
我该怎么办?
我正在尝试为苹果设备做一个通知系统,但是当我尝试在服务器上运行它时,我遇到以下错误:
警告:stream_socket_client():SSL:第30行/home/empresa/public_html/simplepush/push.php中的同行重置连接
警告:stream_socket_client():无法在第30行的/ home/empresa /public_html/push/push.php中启用加密
警告:stream_socket_client():无法连接到第30行的/ home/empresa /public_html/push/push.php中的ssl://gateway.sandbox.push.apple.com:2195(未知错误)无法连接:0
我的代码是这样的:
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
$deviceToken= 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$passphrase = ' ';
$message = 'my first notification';
////////////////////////////////////////////////////////////////////////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);
echo 'Connected to APNS' . PHP_EOL;
// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => …Run Code Online (Sandbox Code Playgroud) 当期间的WebRTC的Firefox信号生成报价,答案对象,Mozilla的增加了约一语双关小号分裂国家d ESCRIPTION P通过返回说答案,并提供rotocols“THIS_IS_SDPARTA。”
除了有趣之外,“ SDParta”的“ arta”部分还有什么意义吗?
以下是两个SDP。其中一个是在Chrome中制作的,另一个是在Firefox中制作的,每个都使用相同的Web应用,STUN服务器和信令服务器。
Chrome生成的webRTC答案对象:
"answer": {
"type": "answer",
"sdp": "v=0\r\no=-```numbers omitted``` 2 IN IP4 123.4.5.6\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:CYLs\r\na=ice-pwd:```pwd omitted```\r\na=ice-options:trickle\r\na=fingerprint:sha-256 ```sha-256 omitted```\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n"
}
Run Code Online (Sandbox Code Playgroud)
Firefox生成的webRTC答案对象:
"answer": {
"type": "answer",
"sdp": "v=0\r\no=mozilla...THIS_IS_SDPARTA-61.0.2```numbers omitted``` 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 ```sha-256 omitted``` \r\na=group:BUNDLE sdparta_0\r\na=ice-options:trickle\r\na=msid-semantic:WMS *\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=ice-pwd:```pwd omitted```\r\na=ice-ufrag:8e051271\r\na=mid:sdparta_0\r\na=sctpmap:5000 webrtc-datachannel 256\r\na=setup:active\r\na=max-message-size:1073741823\r\n"
}
Run Code Online (Sandbox Code Playgroud)
“ THIS_IS_SDPARTA”指的是电影300和后续的模因,
。
根据概述会话描述协议的RFC 4566,原始值由SDP字符串中的'o = value ' 分配:
o=<username> <sess-id> <sess-version> …Run Code Online (Sandbox Code Playgroud) 我写了一个套接字程序来发送一个文件并从套接字接收一个字符串在其中我指定了客户端(写了客户端的 ip 地址)我想动态获取该客户端地址,我尝试了 .getpeername() 函数但得到错误
我尝试了 .getpeername() 函数但出现错误
#host = '10.66.227.181' # fixed ip of one client only
client_socket = socket.socket()
host = client_socket.getpeername()
print(clientip)
port = 8000
print(host,port)
client_socket.connect(host,port)
Run Code Online (Sandbox Code Playgroud)
clientip = socket.gethostname(client_socket.getpeername()) OSError: [WinError 10057] 不允许发送或接收数据的请求,因为套接字未连接并且(使用 sendto 调用在数据报套接字上发送时)未提供地址
我正在创建一个系统,使用户能够在连接到同一 wifi 网络的设备之间共享文件。我想要一个所有已连接设备的列表,以便我可以选择要发送到的设备(使用 simplepeer JS)。
我已经创建了一个可以使用 simplepeer JS 共享文件的小程序
<p>Your id</p>
<div>
<textarea id="yourId"></textarea>
</div>
<div><button id="connect_bt">Connect</button></div>
<div style="margin-bottom:20px;">
<p>Other id</p>
<div>
<textarea id="otherId"></textarea>
</div>
<div></div>
</div>
<div>
<textarea id="message_input"></textarea>
<button id="send_message">Send message</button>
</div>
<pre id="messages"></pre>
<script src="simplepeer/simplepeer.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
var peer = new SimplePeer({
initiator: location.hash === '#init',
trickle: false
});
peer.on('signal', function(data) {
document.getElementById('yourId').value = JSON.stringify(data);
});
document.getElementById('connect_bt')
.addEventListener('click', function() {
var other_id = JSON.parse(document.getElementById('otherId').value);
peer.signal(other_id);
});
document.getElementById('send_message')
.addEventListener('click', function() {
var message = document.getElementById('message_input').value;
peer.send(message);
});
peer.on('data', function(data) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用peerjs将主机与客户端连接。我有两个文件(一个用于主机,一个用于客户端)。主机将生成客户端用于连接到他的 peerId。它基本上是来自here的教程。
主机.html
const peer = new Peer()
peer.on('open', () => {
console.log('ID: ' + peer.id)
})
peer.on('connection', (conn) => {
conn.on('data', (data) => {
// Will print 'hi!'
console.log(data)
})
conn.on('open', () => {
conn.send('hello!')
})
})Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>Run Code Online (Sandbox Code Playgroud)
客户端.html
const peer = new Peer()
const conn = peer.connect('1781a113-d095-4be5-9969-b80d9c364f6b')
conn.on('open', () => {
conn.send('hi!')
})Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>Run Code Online (Sandbox Code Playgroud)
客户端未连接也未发送消息。我尝试使用他们的示例连接到我的主机,这是有效的。我能够向主机发送消息。我的客户有什么问题?
我的同行正在撰写一份报告,显示我们小型咨询公司每位员工的每周(周日至周六)预付款.他编写了一段代码,显示了与目标周中的日期相对应的列.他的算法如下:
当然,该标志表示当前周是什么.
我建议另一种算法:
我的算法中的"困难"部分是第1部分.我的意思是"难以",因为"难以理解",因为这样做的算法复杂性是不变的.我的算法具有更紧密的循环优势.我的同行循环对每月的每一天进行比较.我没有.
这是一个小例子,你可能会说这里的过度优化有点过于偏执.但是当我们编写实际的性能关键代码时,他的编程风格并没有改变.
他的代码也充满了这些测试:
/* doSomething() doesn't change the state of the relevant variables. */
if (condition)
{
flag++;
if (flag > test)
doSomething();
}
else
if (flag >= test)
doSomething();
Run Code Online (Sandbox Code Playgroud)
当然,当它可以这样做:
if (flag >= test);
doSomething();
if (condition)
flag++;
Run Code Online (Sandbox Code Playgroud)
我该怎么办?!?!?!
编辑:我更正了代码示例中的比较.
我看到Socket.IO和Websockets通常需要NodeJS或类似的东西,但是不能在客户端上运行。
有没有可能打开使用JavaScript接受通信的端口的方法?因此,设备可以在网络上互相对话,peer2peer(充当服务器)吗?
在Hyperledger结构中,一个同行可以成为两个组织的一部分吗?请添加尽可能多的推理以支持您的答案.