Ubuntu

在 Ubuntu 上安裝基本 UDP 伺服器

  • June 11, 2018

我正在做一些程式碼測試,一方面是我需要一個活動的UDP Server。我試過在網上尋找如何安裝一個,但運氣不佳。

我唯一的要求是一個 UDP 伺服器,我可以用我的程式碼連接它並檢索一個簡單的響應。

我正在使用 Ubuntu 16.04 Xenial。

有人可以幫忙嗎?

我的問題是提供一個我可以使用的 UDP 伺服器。

我看到 Arcserve UDP 代理 (Linux) 但不確定,因為這可能用於備份

我也看到 netcat 但我如何發送響應?謝謝!

更新

這是我嘗試過的:

root@ubuntuT:/home/jon/gocode/udpserv# echo "pingpong" | nc -u 127.0.0.1 -l 12345 &
[5] 36067
root@ubuntuT:/home/jon/gocode/udpserv# curl http://127.0.0.1:12345
curl: (7) Failed to connect to 127.0.0.1 port 12345: Connection refused

試試網貓:

nc -u -l 12345 < /dev/zero

它將啟動簡單的伺服器,該伺服器將在埠 12345 上向您發送零值字節。

或者:

echo "pingpong" | nc -u -l 12345

如果你想要簡單的文字答案。

你可以安裝 dnsmasq 來監聽埠 53/udp。這是一個快速的。

您可以在 udp 上啟動一個 python 偵聽器。

#/usr/bin/env/python3 
#Python UDP Listener, listening on localhost 1025, change address 
# to listen on other ip/port combos. 
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('127.0.0.1', 1025))

while True:
   data, address = sock.recvfrom(65538)
   text = data.decode('ascii')
   print('Connection from Client{} says {}'.format(address, text))
   text = 'Your data was {} bytes long'.format(len(data))
   data = text.encode('ascii')
   sock.sendto(data, address)

如果您需要客戶,這將起作用。

#/usr/bin/env/python3 
#UDP Client

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
text = 'Hello World'
data = text.encode('ascii')
sock.sendto(data, ('127.0.0.1', 1025))
data, address = sock.recvfrom(65538) 




#text = data.decode('ascii')
#print('The server {} replied {}'.format(address, text))

引用自:https://serverfault.com/questions/916131