在java中实现一个xmpp客户端 – 卡在第一步
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在java中实现一个xmpp客户端 – 卡在第一步,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1772字,纯文字阅读大概需要3分钟。
内容图文
![在java中实现一个xmpp客户端 – 卡在第一步](/upload/InfoBanner/zyjiaocheng/720/f617f06c2225499b8e016f7ea7bc80e6.jpg)
我正在尝试编写一个xmpp客户端来发送/接收来自gtalk的消息.
在我真正开始实现之前,我考虑开发一个原型,看看我是否能够通过gtalk获得消息.
我写了下面的代码,我现在卡在我应该在开始加密连接之前请求谷歌的部分.
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class XmppConnect {
static String initiate_conn="<?xml version=\"1.0\"?>\n\r<stream:stream to=\"google.com\"\n\rversion=\"1.0\"\n\rxmlns=\"jabber:client\"\n\rxmlns:stream=\"http://etherx.jabber.org/streams\">\n";
static String start_tls="<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>";
public static void main(String [] args)
{
try {
Socket connection = new Socket("talk.google.com", 5222);
DataInputStream input = new DataInputStream(connection.getInputStream());
BufferedReader d = new BufferedReader(new InputStreamReader(input));
OutputStream to_server = null;
String responseLine;
to_server = connection.getOutputStream();
to_server.write(initiate_conn.getBytes());
responseLine = d.readLine();
System.out.println("Server: " + responseLine);
to_server.write(start_tls.getBytes());
responseLine = d.readLine();
System.out.println("Server: " + responseLine);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我可以将以下内容发送给谷歌
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
作为回应,我期待以下内容
<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
但我从服务器上得不到任何回报.
来自wireshark的屏幕截图如下所示.
请求你的帮助,请不要告诉我使用现有的xmpp库,因为我只是不想.
问候,
马努!
更新
找到了解决方案.工作代码如下:
现在适用的代码如下.
现在我将致力于TLS实现并回到这里,有任何疑问:)
内容总结
以上是互联网集市为您收集整理的在java中实现一个xmpp客户端 – 卡在第一步全部内容,希望文章能够帮你解决在java中实现一个xmpp客户端 – 卡在第一步所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。