标签: udp

30
推荐指数
3
解决办法
9万
查看次数

为什么RTP使用UDP而不是TCP?

我想知道为什么在RTP而不是TCP中使用UDP?主要的VoIP工具只使用UDP,因为我攻击了一些VoIP OSS.

networking voip udp protocols rtp

30
推荐指数
4
解决办法
7万
查看次数

UDP套接字集超时

我试图在UDP套接字上设置100ms超时.我正在使用C.我在下面发布了我的代码的相关部分.我不确定为什么这不是超时,但只是在它没有收到段时挂起.这仅适用于未使用bind()方法绑定的套接字吗?

#define TIMEOUT_MS      100     /* Seconds between retransmits */

if ((rcv_sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0)
    DieWithError("socket() failed");

if ((rcv_sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0)
    DieWithError("socket() failed");

//set timer for recv_socket
static int timeout = TIMEOUT_MS;
setsockopt(rcv_sock, SOL_SOCKET, SO_RCVTIMEO,(char*)&timeout,sizeof(timeout));

if(recvfrom(rcv_sock, ackBuffer,sizeof(ackBuffer), 0,
       (struct sockaddr *) &servAddr2, &fromSize) < 0){
    //timeout reached
    printf("Timout reached. Resending segment %d\n", seq_num);
    num_timeouts++;
}
Run Code Online (Sandbox Code Playgroud)

c sockets udp

30
推荐指数
2
解决办法
6万
查看次数

我可以为TCP使用广播或多播吗?

对于Internet协议(IP),我可以使用多播:

另外,在示例中,对于UDP,我可以使用:

  • broadcast - 将数据包发送到地址范围
  • multicast - 将数据包发送到指定地址列表

但是我可以将这些内容用于TCP吗?

ip udp tcp multicast broadcast

28
推荐指数
2
解决办法
3万
查看次数

TCP可以通过UDP实现吗?

我有一个奇怪的想法.我听说过我的理解使用UDP传输文件的软件,减少了TCP数据包中的开销.

如果我的应用需要TCP,我的局域网有软件设置,可以通过软件设置与海岸另一侧的另一个数据中心进行通信.是否可以通过UDP发送实际数据,而不是在两端模拟TCP?

我依旧记得有关7层的内容,但我不确定协议是否是其中一个层,我不确定在网络上使用UDP时TCP是否无法模拟/实现完美.有没有人对这些项目有任何想法或信息?

networking udp tcp

27
推荐指数
5
解决办法
2万
查看次数

TCP流与UDP消息

TCP是面向流的,意味着数据作为连续的字节流传输.但令我困惑的是TCP创建了段并将其传递给IP.IP创建数据包封装段并传输它们.那么这里的连续流究竟在哪里呢?

另一方面,UDP是面向消息的.它从应用层接收消息,创建数据报并将其推送到IP.到目前为止,它与TCP相同,而是创建和推送数据报.是什么让这个协议面向消息?

networking udp tcp

27
推荐指数
3
解决办法
3万
查看次数

在Linux中指定运行时的UDP接收缓冲区大小

在Linux中,可以使用以下命令为网络数据包(例如UDP)指定系统的默认接收缓冲区大小:

sysctl -w net.core.rmem_max=<value>
sysctl -w net.core.rmem_default=<value>
Run Code Online (Sandbox Code Playgroud)

但我想知道,应用程序(例如,in c)是否可以通过在运行时指定每个UDP套接字的接收缓冲区大小来覆盖系统的默认值?

sockets linux buffer udp

26
推荐指数
1
解决办法
5万
查看次数

设置UDP套接字的源IP

我有一个UDP套接字绑定到INADDR_ANY来监听我的服务器上的所有IP数据包.我通过同一个套接字发送回复.

现在,当发送数据包时,服务器会自动选择将哪个IP用作源IP,但我希望能够自己设置传出源IP.

有没有办法做到这一点,而无需为每个IP创建一个单独的套接字?

sockets ip udp interface

26
推荐指数
2
解决办法
3万
查看次数

NodeJS UDP组播如何

我正在尝试将UDP多播数据包发送到:230.185.192.108,以便所有订阅者都会收到.有点卡住了.我相信它正确播放,但似乎无法与任何客户端进行任何选择.

服务器:

var news = [
   "Borussia Dortmund wins German championship",
   "Tornado warning for the Bay Area",
   "More rain for the weekend",
   "Android tablets take over the world",
   "iPad2 sold out",
   "Nation's rappers down to last two samples"
];

var dgram = require('dgram'); 
var server = dgram.createSocket("udp4"); 
server.bind();
server.setBroadcast(true)
server.setMulticastTTL(128);
server.addMembership('230.185.192.108'); 

setInterval(broadcastNew, 3000);

function broadcastNew() {
    var message = new Buffer(news[Math.floor(Math.random()*news.length)]);
    server.send(message, 0, message.length, 8088, "230.185.192.108");
    console.log("Sent " + message + " to the wire...");
    //server.close();
}
Run Code Online (Sandbox Code Playgroud)

客户

var PORT …
Run Code Online (Sandbox Code Playgroud)

udp multicast node.js socket.io

26
推荐指数
2
解决办法
3万
查看次数

从浏览器中的udp端口读取

除了Java Applet之外,我们还能从UDP套接字中读取吗?我知道websockets是TCP套接字,但是我需要通过udp套接字,HTML5中的任何东西或任何东西与服务器通信?我看过这篇文章:两年前两年前的这篇文章再次 没有UDP.我想知道现在是否有任何新方法我们在2013年使用浏览器通过udp socket与服务器通信?

javascript html5 udp tcp websocket

26
推荐指数
2
解决办法
3万
查看次数