Sockets 如何使用TCP套接字而不是UDP发布数据

Sockets 如何使用TCP套接字而不是UDP发布数据,sockets,tcp,webrtc,pubnub,Sockets,Tcp,Webrtc,Pubnub,我一直在尝试使用pubnub,以便通过对等方发送数据流。尽管发送和接收的消息数量相同,但一方的消息大小与另一方不同。我想的是,由于某种原因,部分数据包丢失了 pubnub.publish({ channel: 'my_channel', 'message' : { 'packet': array_of_packets[counter_array_of_packets],

我一直在尝试使用pubnub,以便通过对等方发送数据流。尽管发送和接收的消息数量相同,但一方的消息大小与另一方不同。我想的是,由于某种原因,部分数据包丢失了

        pubnub.publish({
           channel: 'my_channel',    
           'message' : {  

             'packet':  array_of_packets[counter_array_of_packets], 
              'which_packet_is': counter_array_of_packets,              
               'payload_size': calculate_payload_size('my_channel'array_of_packets[counter_array_of_packets])                                  
           }                   
           callback : function(m){console.log(m)}
        });
            pubnub.subscribe({ 
               channel: 'my_channel',
               message: function(m){wait_(m)},
               uuid: 'Mitsos',
               error: function (error) {
               // Handle error here
               console.log(JSON.stringify(error));
    }
 });
用于计算尺寸的函数为:

function calculate_payload_size( channel, message ) {
    return encodeURIComponent(
        channel + JSON.stringify(message)
    ).length + 100;
   }
那么,我如何以使用TCP(可靠传输)的方式使用上述两个函数发布和订阅呢?
(如果这有帮助的话,这里是pubnub-index.html的一个工作示例,其中数据包到达另一端的方式是正确的,尽管我似乎找不到他是否在任何地方使用tcp)

所有pubnub客户端库仅通过tcp套接字连接进行通信。
如果您使用的是PubNub JavaScript、Java或Objective-C SDK,则SDK将在您订阅数据通道后自动为您保持TCP套接字连接的打开状态。本指南将提供一种简单的方法,使用Telnet作为通过TCP套接字传输JSON消息有效负载的示例


通过在套接字上写入初始数据有效负载,您可以使用PubNub的无限TTL套接字会话策略使TCP套接字保持活动和永久活动。建立TCP连接后,发送初始有效负载。观看此视频,它将引导您完成如何保持TCP套接字连接打开的步骤。

因此,由于它使用TCP,因此离开的数据量和到达的数据量应该相同,对吗?(这同样适用于他们到达的正确转弯?)是的,没错!你能给我们发邮件吗support@pubnub.com所以我们可以进一步调查?当然,我已经发送了一封电子邮件,涉及出现的一些cors问题,如果cors不对上述问题负责,接下来的一封邮件将是:)