Optimization in SSDP

This commit is contained in:
Ziver Koc 2015-10-29 13:09:35 +01:00
parent 0956e4aee3
commit 5fa807e50b
4 changed files with 13 additions and 6 deletions

View file

@ -178,7 +178,8 @@ public class SSDPClient extends ThreadedUDPNetwork implements ThreadedUDPNetwork
* Location: http://localhost:80
*/
public void receivedPacket(DatagramPacket packet, ThreadedUDPNetwork network) {
HttpHeaderParser header = new HttpHeaderParser( new String( packet.getData() ) );
String msg = new String(packet.getData(), packet.getOffset(), packet.getLength());
HttpHeaderParser header = new HttpHeaderParser( msg );
logger.log(Level.FINEST, "Received(from: "+packet.getAddress()+"): "+ header);
String usn = header.getHeader("USN");

View file

@ -24,6 +24,7 @@
package zutil.net.ssdp;
import zutil.StringUtil;
import zutil.io.StringOutputStream;
import zutil.log.LogUtil;
import zutil.net.http.HttpHeaderParser;
@ -166,8 +167,7 @@ public class SSDPServer extends ThreadedUDPNetwork implements ThreadedUDPNetwork
*/
public void receivedPacket(DatagramPacket packet, ThreadedUDPNetwork network) {
try {
String msg = new String( packet.getData() );
String msg = new String( packet.getData(), packet.getOffset(), packet.getLength() );
HttpHeaderParser header = new HttpHeaderParser( msg );
// ******* Respond
@ -175,7 +175,7 @@ public class SSDPServer extends ThreadedUDPNetwork implements ThreadedUDPNetwork
if( header.getRequestType() != null && header.getRequestType().equalsIgnoreCase("M-SEARCH") ){
String man = header.getHeader("Man");
if(man != null)
man = man.replace("\"", "");
man = StringUtil.trim(man, '\"');
String st = header.getHeader("ST");
// Check that its the correct URL and that its an ssdp:discover message
if( header.getRequestURL().equals("*") && "ssdp:discover".equalsIgnoreCase(man) ){