如何在android中使用socket编程创建聊天应用程序?

时间:2015-09-19 07:49:43

标签: java php android

我是android的初学者。我想将任何文本数据发送到服务器,并且服务器响应任何文本数据,我读了这个链接: http://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/
但是那个链接只发送文本,无法得到服务器的响应,我该如何解决呢?

2 个答案:

答案 0 :(得分:6)

为了完全理解whatsapp流程,让我指导你whatsapp的流程,如何复制类似于那个。从我在项目中学到并应用的博客中提取的。

  1. WhatsApp使用的协议
  2. WhatsApp正在使用XMPP(可扩展消息传递和在线协议)。为确保网络安全,正在使用DSL。这可确保私人数据传输。

    发送消息时,它在服务器上排队。消息在队列中等待,直到收件人重新连接以接收消息。当消息传递时,发送者通过消息附近的双重复选标记得到通知。发送后,消息立即从服务器内存中删除。

    1. 数据库管理
    2. 对于数据库管理,Mnesia DB发挥作用。 Mnesia是一个多用户分布式DBMS,恰好是ERLANG的默认DB。因此,通过使用Mnesia,该应用程序能够实现更快的请求响应,从而提高整体效率。

      FreeBSD是WhatsApp所依赖的操作系统。即兴开发基于ERLANG的应用程序并优化FreeBSD,WhatsApp能够实现更好的吞吐量。为了存储多媒体文件,该应用程序使用专用Web服务器YAWS。

      WhatsApp的技术细节是时候转移分析创建whatsApp替代方案的可能性。市场上有很多消息传递应用程序似乎是完美的WhatsApp克隆。事实上,像类似应用程序一样构建WhatsApp的许多尝试都失败了因为它们没有遵循技术方面

      让我解释一下可用于开发适用于Android的WhatsApp克隆的应用程序的流程,因为它已为这些广受欢迎的移动操作系统准备好SDK。这是您可以发现它的流程。

      Ejabberd,开源Jabber服务器已经过定制,可用于提高运营效率。 XMPP协议也已定制,以加速登录和重新签名会话。为了保护应用免受DDOS攻击并防止帐户欺骗,此移动聊天应用程序已使用HMAC加密。

      对于数据存储,您可以使用Mnesia和MySQL。虽然Mnesia用于维护用户登录会话,但MySQL有助于维护用户详细信息,从帐户凭据到其他个人数据。

      日志是即时消息应用程序的关键。为了保存多个节点之间的聊天记录,您可以部署Cassandra数据库。该数据库提供良好的读写速度,从而帮助用户在需要时检索聊天记录。

      enter image description here

      您可以参考herehere中的其他信息。

      希望它会有所帮助。

答案 1 :(得分:5)

请关注以下视频:

使用"通过Scratch"为Android构建聊天应用程序,您将了解有关聊天应用程序的所有信息,即使您之前从未构建过应用程序!

您可以将任何文本数据发送到服务器,服务器( XAMPP和MAMP )会响应任何文本数据。

enter image description here

查看 http://qscutter.com/courses/building-a-chat-app-for-android-from-scratch

你制作剧本 php和Ajax index.php

programming ajax

ServerSocket http://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html

套接字

http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html

谢谢男人享受......