Hello everyone, I am currently trying to get a list of UPnP device via SSDP (Simple Service Discovery Protocol). A minimalistic working NodeJS example looks like this: var dgram = require('dgram'); var message = new Buffer( "M-SEARCH * HTTP/1.1\r\n" + "HOST:239.255.255.250:1900\r\n" + "MAN:\"ssdp:discover\"\r\n" + "ST:ssdp:all\r\n" + "MX:1\r\n" + "\r\n" ); var client = dgram.createSocket("udp4"); client.on("message", function (msg, rinfo) { console.log("server got: " + msg + " from " + rinfo.address + ":" + rinfo.port); }); client.send(message, 0, message.length, 1900, "239.255.255.250"); client.close(); I tried to recreate the same functionality in Pharo with the following piece of code: | message udpSocket host | message := 'M-SEARCH * HTTP/1.1\r\n' , 'HOST:239.255.255.250:1900\r\n' , 'MAN:"ssdp:discover"\r\n' , 'ST:ssdp:all\r\n' , 'MX:1\r\n' , '\r\n'. udpSocket := Socket newUDP. host := (NetNameResolver addressFromString: '239.255.255.250'). udpSocket sendData: message toHost: host port: 1900. "udpSocket waitForData." Transcript show: 'Received: ' , udpSocket receiveData. udpSocket closeAndDestroy. Unfortunately, this script hangs both in Pharo3 and Pharo4 (OS X 10.10, Pharo 30856 and 40611). When I interrupt with Cmd+. the debugger shows the method Socket>>waitForDataIfClosed: and the hang is apparently in the line self readSemaphore wait Could anyone give me some advice if I should to do this differently or what the issue with the Pharo script is? Thanks in advance, Manfred