`
helpbs
  • 浏览: 1210865 次
文章分类
社区版块
存档分类
最新评论

android 聊天室

 
阅读更多

服务器实现:

public class MzzQQServer {


//端口随便设置,但必须是比1024大
private static final int SERVERPORT = 6666 ;

private static List<Socket> clientList = new ArrayList<Socket>();

//线程池
private ExecutorService executorService = null ;

private ServerSocket server = null ;
public static void main(String[] args) {
new MzzQQServer();
}

public MzzQQServer() {
try {
server = new ServerSocket(SERVERPORT);
//得到一个线程池
executorService = Executors.newCachedThreadPool();
Socket client = null ;
//得到一个socket,此方法是阻塞方法
client = server.accept();
clientList.add(client);
executorService.execute(new ThreadServer(client));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

static class ThreadServer implements Runnable {


private BufferedReader br ;
private PrintWriter pw ;
private Socket socket ;
private String strMsg ;
public ThreadServer(Socket socket) throws IOException {
this.socket = socket ;
br = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
while((strMsg = br.readLine()) != null) {
sendMessage();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

//发送消息给所有客户端
private void sendMessage() throws IOException {
for (Socket socket : clientList) {
pw = new PrintWriter(socket.getOutputStream() , true);
pw.println(strMsg);
}
}

}
}





客户端实现:

Activity ---->


客户端xml的实现

chat.xml:






分享到:
评论
1 楼 dukunpeng22 2015-07-22  
想问楼主,关于实时通讯,Socket是最方便的吗,这个东西在客户端的性能怎么样

相关推荐

    android聊天室(带服务端,PC输入界面)

    "android聊天室(带服务端,PC输入界面)" 这个标题指出这是一个Android应用程序的示例,其功能是实现一个聊天室。关键点在于它不仅包含Android客户端,还具备服务端和PC客户端,这意味着用户可以通过Android设备进行...

    android聊天室客户端与服务端(PC)代码

    在本项目中,我们探讨的是一个完整的Android聊天室应用程序,包括客户端和服务器端。服务器端是基于PC平台的,这通常意味着使用了如Java或C#等编程语言来实现,而客户端则是针对Android设备设计的,所以使用的是...

    android聊天室

    以下是关于这个“android聊天室”项目的一些关键知识点: 1. **Android基础知识**:首先,你需要熟悉Android应用开发的基本知识,包括Android Studio IDE的使用、XML布局设计、Activity和Fragment管理、以及...

    android聊天室代码加报告

    在本项目中,"android聊天室代码加报告"是一个实现基于Android平台的聊天室应用程序,它包括了服务器端和客户端的代码实现。这个项目旨在帮助开发者理解和掌握Android应用开发中的实时通信技术,尤其是通过Socket...

    androidsocket通信 android聊天室代码

    综上所述,"android socket通信 android聊天室代码"的实现涉及到服务器和客户端的Socket连接建立、数据的读写、多线程处理以及异常处理等多个环节。在实际项目中,还需要考虑安全、性能优化、用户界面设计等其他因素...

    android 聊天室 (java服务端)

    【标题】:“Android聊天室(Java服务端)” 在Android应用开发中,构建一个聊天室功能需要涉及到客户端和服务器端的交互。这个项目是基于Java技术实现的服务端部分,为Android设备提供实时通信的能力。Java作为...

    Net.zip_ANDROID聊天室_Android net_android_android 聊天_android源码

    【Android聊天室应用开发】 在Android平台上开发聊天室应用是一项常见的任务,特别是在移动通信和社交网络日益发达的今天。这个“Net.zip”压缩包提供的源码是一个基础的Android聊天室应用示例,可以帮助开发者理解...

    完整的android聊天室系统源码

    【Android聊天室系统源码详解】 在Android平台上构建一个完整的聊天室系统,涉及到的技术栈广泛且深入,包括网络通信、数据库管理、用户界面设计、多线程处理等多个方面。以下将详细阐述这些关键技术点。 1. **...

    基于Socket的Android聊天室

    将服务器端所有的通讯线程保存到一个集合当中,当有用户发来数据,则转发给所有用户,实现聊天室效果。Android端通过使用Socket建立客户端链接,并且在AsyncTask中执行网络读写的任务,将用户输入的内容发送到服务器...

    Android简易版聊天室

    在本文中,我们将深入探讨如何构建一个简单的Android聊天室应用,以及它与PC服务器端和客户端的交互。这个"Android简易版聊天室"项目旨在提供一个基础架构,用于理解多平台间实时通信的工作原理。 首先,我们要理解...

    Android聊天室

    首先,"Android聊天室"指的是一个允许用户通过Android设备进行实时通讯的应用程序。在Android平台上开发这样的应用,需要掌握以下几个核心概念: 1. **Android SDK**:Android软件开发工具包,是开发Android应用的...

    android聊天室,支持表情

    总结来说,"android聊天室,支持表情"这个项目涵盖了Android UI设计、Socket通信、多线程处理、数据序列化和反序列化,以及表情图像处理等多个技术点,对于提升开发者在移动通信领域的技能大有裨益。通过实践这样的...

    fdd.rar_android 界面_android 聊天室_android chat_fdd android_局域网

    标题中的“fdd.rar”可能是一个项目或应用的名称,而“android 界面”和“android 聊天室”则表明这是一个针对Android平台设计的用户界面和聊天功能的应用程序。"fdd android"可能是这个项目的特定版本或模块,而...

    android系统的聊天室设计代码

    在Android平台上设计一个聊天室应用是一项复杂而有趣的任务,它涉及到多个技术层面,包括网络通信、数据存储、用户界面设计以及实时消息同步等。在这个"android系统的聊天室设计代码"中,我们可以预见到一系列关键的...

    一个基于Socket的Android聊天室(java实现服务器).zip

    【标题】中的“一个基于Socket的Android聊天室(java实现服务器)”指的是使用Java编程语言构建的服务器端程序,用于支持Android设备上的实时聊天功能。Socket是网络编程中的基本组件,它允许两个应用程序通过网络进行...

Global site tag (gtag.js) - Google Analytics