标签: udp

开发基本的DNS服务器(在C#中)

我正在为自己的目的开发一个非常基本的DNS服务器.我理解它的方式,DNS服务器接收包含所请求域名的UDP数据包,并以某种标准格式返回相应的IP.

有一个标准库用于从/向二进制格式读/写UDP数据包.但是,在哪里可以找到用于序列化/反序列化DNS请求/响应的C#库?

c# dns udp

19
推荐指数
1
解决办法
2万
查看次数

使用Java发送和接收UDP数据包?

我做了一个程序,从客户端发送UDP数据包到服务器这里是发送器代码

import java.io.IOException;
import java.net.*;

/**
 *
 * @author hp
 */
public class JavaApplication9 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws UnknownHostException, SocketException, IOException  {
        // TODO code application logic here
        byte[] buffer = {10,23,12,31,43,32,24};
        byte [] IP={-64,-88,1,106};
        InetAddress address = InetAddress.getByAddress(IP);
        DatagramPacket packet = new DatagramPacket(
                buffer, buffer.length, address, 57
                );
        DatagramSocket datagramSocket = new DatagramSocket();
        datagramSocket.send(packet);
        System.out.println(InetAddress.getLocalHost().getHostAddress());


    }
}
Run Code Online (Sandbox Code Playgroud)

接收器代码功能是

public void run(){

    try{
        DatagramSocket serverSocket = new DatagramSocket(port); …
Run Code Online (Sandbox Code Playgroud)

java firewall udp

19
推荐指数
1
解决办法
10万
查看次数

所有接口上的UDP广播

在具有有线和无线接口的Linux系统(例如192.168.1.x和192.168.2.x子网)上,我想发送通过所有可用接口发出的UDP广播(即通过有线和无线接口发送) ).

目前我发送到()到INADDR_BROADCAST,但似乎广播只通过其中一个接口发送(并不总是相同,后续广播可能使用其他接口).

有没有办法可以发送通过每个接口发出的UDP广播?

linux posix udp broadcast

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

发送广播数据报

我需要向连接到我的网络的所有机器(服务器)发送广播数据报.

我正在使用NodeJS Multicast

客户

var dgram = require('dgram');
var message = new Buffer("Some bytes");
var client = dgram.createSocket("udp4");
client.send(message, 0, message.length, 41234, "localhost");
// If I'm in the same machine 'localhost' works
// I need to do something 192.168.0.255 or 255.255.255
client.close();
Run Code Online (Sandbox Code Playgroud)

服务器

 var dgram = require("dgram");

 var server = dgram.createSocket("udp4");

 server.on("message", function (msg, rinfo) {
   console.log("server got: " + msg + " from " +
     rinfo.address + ":" + rinfo.port);
 });

 server.on("listening", function () {
   var address = server.address(); …
Run Code Online (Sandbox Code Playgroud)

javascript udp multicast broadcast node.js

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

什么是消息边界?

什么是"消息bonudaries"在以下背景下?

TCP和UDP之间的一个区别是UDP保留了消息边界.

我理解TCPUDP之间的区别,但不确定"消息边界"的定义.由于UDP包含每个数据包中的目的地和端口信息,是否可以为消息提供"边界"

c# sockets udp tcp

18
推荐指数
1
解决办法
9902
查看次数

TCP和UDP相同的端口,不同的进程

我知道你不能使用相同的端口有两个不同的进程,但是如果一个使用tcp而另一个使用udp会发生什么?你有两个不同的进程,每个进程绑定一个套接字到同一个端口但不同的协议?

sockets port udp tcp

18
推荐指数
2
解决办法
8466
查看次数

在UDP Socket java android上发送和接收数据

我能够通过UDP套接字正确地发送我的数据,但是当我收到数据时,它一直在等待接收命令我不知道是什么导致这个.请看下面的代码.

我能够从Android设备正确接收服务器端的数据,但是当我从服务器端向Android设备发送数据时,它无法接收.但是当我从服务器向任何其他客户端(例如PC应用程序)发送数据时,它会正确接收和显示数据

class Task implements Runnable {
    @Override
    public void run() {
        try {
            String messageStr = "feed";
            int server_port = 8888;
            InetAddress local = InetAddress.getByName("10.0.2.2");
            int msg_length = messageStr.length();
            byte[] message = messageStr.getBytes();


            DatagramSocket s = new DatagramSocket();
           // 

            DatagramPacket p = new DatagramPacket(message, msg_length, local, server_port);
            s.send(p);//properly able to send data. i receive data to server

            for (int i = 0; i <= 20; i++) {
                final int value = i;
                message = new byte[30000];
                p = new …
Run Code Online (Sandbox Code Playgroud)

java sockets android udp udpclient

18
推荐指数
2
解决办法
7万
查看次数

在Python中接收广播包

我有以下代码发送udp在子网中广播的数据包.

from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
s.sendto('this is testing',('255.255.255.255',12345))
Run Code Online (Sandbox Code Playgroud)

以下代码用于接收广播包.

from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.bind(('172.30.102.141',12345))
m=s.recvfrom(1024)
print m[0]
Run Code Online (Sandbox Code Playgroud)

问题是它没有收到任何广播包.但是,它成功接收发送到该端口的普通udp数据包.

我的机器显然收到了我测试过的广播包netcat.

$ netcat -lu -p 12345                                             
this is testing^C
Run Code Online (Sandbox Code Playgroud)

那么问题究竟在哪里呢?

python sockets udp broadcast

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

Swift:使用GCDAsyncUdpSocket接收UDP

背景:

我希望能够在我的iOS应用程序和服务器之间发送和接收UDP数据包.服务器将每个传入的消息回送给应用程序的客户端.服务器已经过测试并确认正常运行.我有一个StartViewController,启动两个实现GCDAsyncUdpSocketDelegate的类,一个用于发送,一个用于接收."发送套接字"正在工作,服务器接收消息.

问题:

应用程序在发送后永远不会收到回传消息.听取套接字设置的东西可能是错误的,因为didReceiveData永远不会被调用.

我完全错了吗?

开始:

class StartViewController: UIViewController {

   var inSocket : InSocket!
   var outSocket : OutSocket!

   override func viewDidLoad() {
       super.viewDidLoad()
       inSocket = InSocket()
       outSocket = OutSocket()
   }

   @IBAction func goButton(sender: UIButton) {
       outSocket.send("This is a message!")
   }
}
Run Code Online (Sandbox Code Playgroud)

接收:

class InSocket: NSObject, GCDAsyncUdpSocketDelegate {

   let IP = "255.255.255.255"
   let PORT:UInt16 = 5556
   var socket:GCDAsyncUdpSocket!

   override init(){
       super.init()
       setupConnection()
   }

   func setupConnection(){
       var error : NSError?
       socket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
       socket.bindToPort(PORT, error: &error)
       socket.enableBroadcast(true, …
Run Code Online (Sandbox Code Playgroud)

udp ios cocoaasyncsocket swift gcdasyncudpsocket

18
推荐指数
1
解决办法
2万
查看次数

是否可以将UDP与socket.io一起使用?

我有一个正在研究的游戏,我听说UDP对于实时游戏来说是优越的.我知道socket.io使用TCP,并想知道是否有某种方法将其切换到UDP.我试过查找它,但只发现了2012年左右的帖子,其中说UDP只是在浏览器中实验性的.

sockets udp tcp socket.io

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