Optimization in SSDP
This commit is contained in:
parent
0956e4aee3
commit
5fa807e50b
4 changed files with 13 additions and 6 deletions
|
|
@ -262,7 +262,10 @@ public class HttpHeaderParser {
|
||||||
StringBuilder tmp = new StringBuilder();
|
StringBuilder tmp = new StringBuilder();
|
||||||
tmp.append("{Type: ").append(type);
|
tmp.append("{Type: ").append(type);
|
||||||
tmp.append(", HTTP_version: HTTP/").append(version);
|
tmp.append(", HTTP_version: HTTP/").append(version);
|
||||||
tmp.append(", URL: \"").append(url).append('\"');
|
if(url == null)
|
||||||
|
tmp.append(", URL: null");
|
||||||
|
else
|
||||||
|
tmp.append(", URL: \"").append(url).append('\"');
|
||||||
|
|
||||||
tmp.append(", URL_attr: { ");
|
tmp.append(", URL_attr: { ");
|
||||||
for( String key : url_attr.keySet() ){
|
for( String key : url_attr.keySet() ){
|
||||||
|
|
|
||||||
|
|
@ -321,7 +321,10 @@ public class HttpPrintStream extends OutputStream{
|
||||||
if (res_status_code != null) {
|
if (res_status_code != null) {
|
||||||
if (message_type == HttpMessageType.REQUEST) {
|
if (message_type == HttpMessageType.REQUEST) {
|
||||||
str.append(", req_type: ").append(req_type);
|
str.append(", req_type: ").append(req_type);
|
||||||
str.append(", req_url: \"").append(req_url).append('\"');
|
if(req_url == null)
|
||||||
|
str.append(", req_url: null");
|
||||||
|
else
|
||||||
|
str.append(", req_url: \"").append(req_url).append('\"');
|
||||||
} else {
|
} else {
|
||||||
str.append(", status_code: ").append(res_status_code);
|
str.append(", status_code: ").append(res_status_code);
|
||||||
str.append(", status_str: ").append(getStatusString(res_status_code));
|
str.append(", status_str: ").append(getStatusString(res_status_code));
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,8 @@ public class SSDPClient extends ThreadedUDPNetwork implements ThreadedUDPNetwork
|
||||||
* Location: http://localhost:80
|
* Location: http://localhost:80
|
||||||
*/
|
*/
|
||||||
public void receivedPacket(DatagramPacket packet, ThreadedUDPNetwork network) {
|
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);
|
logger.log(Level.FINEST, "Received(from: "+packet.getAddress()+"): "+ header);
|
||||||
|
|
||||||
String usn = header.getHeader("USN");
|
String usn = header.getHeader("USN");
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
package zutil.net.ssdp;
|
package zutil.net.ssdp;
|
||||||
|
|
||||||
|
import zutil.StringUtil;
|
||||||
import zutil.io.StringOutputStream;
|
import zutil.io.StringOutputStream;
|
||||||
import zutil.log.LogUtil;
|
import zutil.log.LogUtil;
|
||||||
import zutil.net.http.HttpHeaderParser;
|
import zutil.net.http.HttpHeaderParser;
|
||||||
|
|
@ -166,8 +167,7 @@ public class SSDPServer extends ThreadedUDPNetwork implements ThreadedUDPNetwork
|
||||||
*/
|
*/
|
||||||
public void receivedPacket(DatagramPacket packet, ThreadedUDPNetwork network) {
|
public void receivedPacket(DatagramPacket packet, ThreadedUDPNetwork network) {
|
||||||
try {
|
try {
|
||||||
String msg = new String( packet.getData() );
|
String msg = new String( packet.getData(), packet.getOffset(), packet.getLength() );
|
||||||
|
|
||||||
HttpHeaderParser header = new HttpHeaderParser( msg );
|
HttpHeaderParser header = new HttpHeaderParser( msg );
|
||||||
|
|
||||||
// ******* Respond
|
// ******* Respond
|
||||||
|
|
@ -175,7 +175,7 @@ public class SSDPServer extends ThreadedUDPNetwork implements ThreadedUDPNetwork
|
||||||
if( header.getRequestType() != null && header.getRequestType().equalsIgnoreCase("M-SEARCH") ){
|
if( header.getRequestType() != null && header.getRequestType().equalsIgnoreCase("M-SEARCH") ){
|
||||||
String man = header.getHeader("Man");
|
String man = header.getHeader("Man");
|
||||||
if(man != null)
|
if(man != null)
|
||||||
man = man.replace("\"", "");
|
man = StringUtil.trim(man, '\"');
|
||||||
String st = header.getHeader("ST");
|
String st = header.getHeader("ST");
|
||||||
// Check that its the correct URL and that its an ssdp:discover message
|
// Check that its the correct URL and that its an ssdp:discover message
|
||||||
if( header.getRequestURL().equals("*") && "ssdp:discover".equalsIgnoreCase(man) ){
|
if( header.getRequestURL().equals("*") && "ssdp:discover".equalsIgnoreCase(man) ){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue