response-native-udp - связанный порт не совпадает с тем, что видит мой сервер - PullRequest
0 голосов
/ 07 октября 2018

На стороне React-Native я привязываюсь к порту 55555.

import dgram from 'react-native-udp';
import { Buffer } from 'buffer'

const foo = ()=>{
    var socket = dgram.createSocket('udp4')
    socket.bind(55555, '0.0.0.0', (e)=>{
        if(e) console.log(e)
    })
    socket.once('listening', function() {
        var buf = Buffer.from(JSON.stringify('msg'))
        socket.send(buf, 0, buf.length, 5000, MACHINE_LOCAL_IP, function(err) {
            if (err) alert(err)
            console.log('Sent to', MACHINE_LOCAL_IP)
        })
    })
}

Я вижу следующий консольный журнал

socket-0 bound to address: 0.0.0.0 port: 55555
Sent to [...]

Он работает как положено, может быть 8/ 10 раз.На моем сервере я открываю UDP-сокет в python

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(1)
sock.bind(('0.0.0.0', 5000))
while True:
    try:
        data, in_address = sock.recvfrom(1024)
        print(in_address)
    except socket.timeout:
        pass
    except Exception as e:
        print(e)
        break

Когда я запускаю foo несколько раз, вот мой вывод на python

('192.168.0.5', 55555)
('192.168.0.5', 55555) 
('192.168.0.5', 55555)
('192.168.0.5', 55555)
('192.168.0.5', 55555)
('192.168.0.5', 55555)
('192.168.0.5', 52917)
('192.168.0.5', 49619)
('192.168.0.5', 63532)
('192.168.0.5', 55555)
('192.168.0.5', 55555)

Я не могучтобы выяснить, почему порт меняется!

...