diff options
Diffstat (limited to 'juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionIn.java')
-rw-r--r-- | juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionIn.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionIn.java b/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionIn.java index 25f28ef6..77412227 100644 --- a/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionIn.java +++ b/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionIn.java @@ -30,13 +30,11 @@ public class ConnectionIn extends Connection implements Runnable { public ConnectionIn(XMPPServer xmpp, Socket socket) throws Exception { super(xmpp); this.socket = socket; - streamID = UUID.randomUUID().toString(); restartParser(); } @Override public void run() { - logger.info("stream from ? {} start", streamID); try { parser.next(); // stream:stream updateTsRemoteData(); @@ -44,7 +42,11 @@ public class ConnectionIn extends Connection implements Runnable { || !parser.getNamespace("stream").equals(NS_STREAM)) { // || !parser.getAttributeValue(null, "version").equals("1.0") // || !parser.getAttributeValue(null, "to").equals(Main.HOSTNAME)) { - throw new Exception("stream from ? " + streamID + " invalid first packet"); + throw new Exception(String.format("stream from %s invalid", socket.getRemoteSocketAddress())); + } + streamID = parser.getAttributeValue(null, "id"); + if (streamID == null) { + streamID = UUID.randomUUID().toString(); } boolean xmppversionnew = parser.getAttributeValue(null, "version") != null; String from = parser.getAttributeValue(null, "from"); |