`
高级java工程师
  • 浏览: 408982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

soockte群聊

阅读更多
Server 代码
package com;
import java.net.*;import java.io.*;import java.util.*;
public class Server { public static void main(String[] args) throws Exception {  ServerSocket server = new ServerSocket(8001);  List<Socket> ss = new ArrayList<Socket>();  while (true) {   Socket socket = server.accept();   ss.add(socket);   new ServerThread1(socket).start();  }  // socket.close();  // server.close(); }}
class ServerThread1 extends Thread { private Socket socket;
public ServerThread1(Socket socket) {  this.socket = socket; }
public void run() {  PrintWriter out = null;  BufferedReader in = null;  try {   out = new PrintWriter(socket.getOutputStream());   in = new BufferedReader(new InputStreamReader(socket     .getInputStream()));
   String s = in.readLine();   System.out.println(s + "上线了");   out.println(s + "上线了");   out.flush();
   s = in.readLine();   while (s != null && !s.equals("quit")) {
    System.out.println(s);
    out.println(s);
    out.flush();
    s = in.readLine();   }  } catch (Exception e) {   e.printStackTrace();  } finally {   try {    in.close();    out.close();    socket.close();   } catch (Exception e) {
   }  } }}
Client代码
package com;
import java.net.*;import java.io.*;
public class Client {
public static void main(String[] args) throws Exception {  Socket socket = new Socket("127.0.0.1", 5001);  //  BufferedReader sin = new BufferedReader(    new InputStreamReader(System.in));  PrintWriter out = new PrintWriter(socket.getOutputStream());  String cname = args[0];  out.println(cname);  out.flush();  new ClientThread1(socket).start();//
  String c = sin.readLine();  while (!c.equals("quit")) {   out.println(cname + "说:" + c);   out.flush();   c = sin.readLine();  }
  out.close();  socket.close(); }}
class ClientThread1 extends Thread { private Socket socket;
public ClientThread1(Socket socket) {  this.socket = socket; }
public void run() {  BufferedReader in = null;  try {   in = new BufferedReader(new InputStreamReader(socket     .getInputStream()));  } catch (IOException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  while (true) {   String s;   try {    s = in.readLine();    System.out.println(s);   } catch (IOException e) {    // TODO Auto-generated catch block    // e.printStackTrace();    break;   }  } }}
如有错请帮忙改正!
分享到:
评论

相关推荐

    java做的简单群聊

    【Java实现简单群聊系统详解】 在信息技术领域,开发一个基于Java的简单群聊系统是一项常见的练习,旨在提升开发者在网络编程、多线程以及数据交互等方面的能力。本项目主要涉及的技术栈包括Java语言基础、Socket...

    聊天室(群聊私聊)

    【聊天室(群聊私聊)】 在互联网通信领域,聊天室是一种常见的在线交流平台,它允许用户实时发送文本、语音、图片等信息,进行群体或个人间的互动沟通。聊天室分为两种主要类型:群聊和私聊,这两种模式各有其特点...

    ejabberd 群聊 strophe.js 实现

    ejabberd是一款开源的XMPP服务器,常用于构建实时通信系统,如即时消息(IM)、群聊等。XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准,用于实现即时通信和在线状态传输。在这个场景...

    群聊图片的简单实现

    在IT行业中,群聊功能是社交媒体、即时通讯应用的核心组成部分之一。群聊图片,也称为群头像或群组照片,是用户识别和区分不同群组的重要标识。本项目"群聊图片的简单实现"专注于生成包含群内成员头像的群聊图片,这...

    openfire群聊持久化插件

    在Openfire中,群聊功能是其核心特性之一,它支持多人同时在线交流。然而,标准的Openfire配置可能会遇到一个问题:当用户退出群聊房间后,该房间可能会被销毁,导致所有聊天记录丢失,这对于需要保留历史记录的团队...

    java开发基于SpringBoot+WebSocket+Redis分布式即时通讯群聊系统.zip

    Java开发基于SpringBoot+WebSocket+Redis分布式即时通讯群聊系统。一个基于Spring Boot + WebSocket + Redis,可快速开发的分布式即时通讯群聊系统。适用于直播间聊天、游戏内聊天、客服聊天等临时性群聊场景。 ...

    群聊(GroupChat)

    【群聊(GroupChat)】实现详解 群聊功能在现代即时通讯软件中扮演着至关重要的角色,它允许用户创建并参与多人对话,是社交、协作和信息分享的有效平台。本项目通过C++编程语言实现了类似QQ的群聊功能,且已在...

    h5即时通讯源码,PHP开发的H5即时通讯聊天系统源码 带群聊 可封装APP

    4. **群聊功能**:群聊是即时通讯系统中的重要特性,允许多个用户在一个聊天室中交流。实现群聊通常需要处理用户加入、退出群聊、群消息广播等问题。在数据库设计上,可能需要维护用户与群聊的关联关系,以及存储...

    socket编程(实现群聊功能+界面清晰)

    本项目以"socket编程(实现群聊功能+界面清晰)"为主题,旨在创建一个支持多客户端实时交流的群聊系统,同时提供了图形用户界面(GUI)以提高用户体验。以下是关于这个项目的一些关键知识点和实现细节: 1. **...

    QT聊天系统实现群聊私聊等功能

    QT聊天系统实现群聊私聊等功能,主要涉及的是利用QT框架进行网络编程,构建一个类似于QQ的通信应用。QT是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的库来支持GUI设计、网络通信、多线程等功能,...

    websocket实现单聊和群聊

    - **消息传输**:`onMessage`方法处理来自客户端的消息,可以在此将消息广播到所有连接的用户(群聊)或特定用户(单聊)。 - **连接关闭**:`onClose`处理连接关闭事件,通常用于清理资源或更新在线用户列表。 -...

    网页群聊源代码

    网页群聊源代码是一种实现在线多人聊天功能的技术方案,它基于Web技术,允许用户通过浏览器进行实时交流。这种代码通常由HTML、CSS和JavaScript等前端技术构建,有时也会结合服务器端语言如PHP、Node.js或Python来...

    java实现群聊功能

    根据提供的文件信息,我们可以总结出以下关于如何使用Java实现群聊功能的知识点: ### Java实现群聊系统的关键组件 #### 服务器端(`ChatServer`类) 1. **初始化ServerSocket**: - 使用`ServerSocket`监听指定...

    WCF群聊程序示例源代码

    在本示例中,我们关注的是一个基于WCF的**群聊程序**,这是一项利用WCF特性实现的多用户实时通信应用。 首先,我们要理解**服务器回调技术**。在传统的客户端-服务器模式中,服务器通常只响应客户端的请求。但在...

    聊天室--实现群聊和私聊

    【聊天室实现群聊与私聊技术解析】 在IT行业中,聊天室的开发是一项常见的任务,尤其是对于在线社交、协作工具或游戏平台来说。本文将深入探讨如何利用JSP(JavaServer Pages)技术来实现一个功能完备的聊天室,...

    一个群聊聊天室代码

    标题 "一个群聊聊天室代码" 暗示我们正在讨论一个实现群聊功能的软件项目,可能是一个简单的网络聊天应用程序。这个应用包含了客户端和服务器端的代码,使得多个用户可以实时交流。让我们深入探讨一下这个项目的组成...

    基于C语言Linux下聊天室实现程序源代码(多人群聊+私聊+群主管理员+禁言+踢出群聊+修改密码+找回密码等功能)

    在linux下的基于TCP/IP,采用socket通信的聊天室,实现进入聊天室,进行多人群聊,指定人进行私聊,群主管理员功能,颗进行禁言,提出群聊等操作。个人账号可修改昵称或者修改密码,还可进行找回密码等功能 基于...

    UDP实现聊天工具(可群聊和私聊)

    在这个项目中,我们将探讨如何使用UDP来构建一个聊天工具,支持群聊和私聊功能。 1. UDP基础 UDP协议在TCP/IP模型的第四层——传输层工作,它不提供顺序传输、错误校验或重传机制,因此适用于对实时性要求高而对...

    web聊天,私聊,群聊。dwr实现。无数据库

    【标题】"Web聊天,私聊,群聊。DWR实现。无数据库" 在这个项目中,我们关注的是如何使用DWR(Direct Web Remoting)框架来实现一个无需数据库支持的实时在线聊天应用,包括私聊和群聊功能。DWR是一种在浏览器和...

    群聊系统 源代码

    群聊系统源代码是开发一个多人在线交流平台的核心部分,它包含了实现聊天功能的各种组件和模块。源代码是程序员用编程语言编写的原始程序文本,是软件开发的基础,可以被修改和扩展以满足不同的需求。在这个群聊系统...

Global site tag (gtag.js) - Google Analytics