下载 >  开发技术 >  C > 可群发,冒号加客户号可指定用户发送的java聊天程序
0分

可群发,冒号加客户号可指定用户发送的java聊天程序

自己写的个java聊天 import java.io.*; import java.net.*; import java.util.ArrayList; import java.util.List; public class ChatServer { public static int id; private ServerSocket server; private List<Connection> connections; InetAddress localAddress; public static void main(String[] args){ new ChatServer().startServer(); } private void startServer(){ boolean started = false; try { connections = new ArrayList<Connection>(); server = new ServerSocket(8888); localAddress = InetAddress.get LocalHost(); started = true; System.out.println("服务器已启动..正在监听.../服务器ip: " + localAddress); } catch (IOException e) { System.out.println("服务器启动失败!请关闭服务器,重新启动"); System.exit(0); } while(started){ try { Socket connection = server.accept(); System.out.println("来自" + connection.getInetAddress() + "已建立:" ); Connection c = new Connection(connection); connections.add(c); new Thread(c).start(); } catch (IOException e) { System.out.println("客户端连接出错"); } } } class Connection implements Runnable{ private Socket connection; private ObjectInputStream inputS; private ObjectOutputStream outputS; private boolean beConnected = false; private int id; public Connection(Socket connection){ this.connection = connection; this.id = ChatServer.id++; try { inputS = new ObjectInputStream(connection.getInputStream()); outputS = new ObjectOutputStream(connection.getOutputStream()); beConnected = true; } catch (IOException e) { System.out.println("无法获取连接的输入输出流"); } } public void run(){ try { outputS.writeObject("已连接到服务器:"+connection.getInetAddress()); outputS.writeObject("服务器:您的客户id为 :" + id + "\t" + " 输入BYE退出聊天"); while(true){ String inLine = (String) inputS.readObject(); //System.out.println(inLine); ObjectOutputStream output; if(inLine.charAt(0)==':'&&inLine.length()>0){ int i =0; int index = Integer.parseInt(inLine.substring(1,2)); for(i = 0;i<connections.size();i++){ Connection c = connections.get(i); if(c.id==index){ break; } } String inout = inLine.substring(2); Connection c = connections.get(i); output = c.outputS; output.writeObject("Client " + id + ": " + inout); output.flush(); }else{ for(int i = 0;i<connections.size();i++){ Connection c = connections.get(i); output = c.outputS; output.writeObject("Client " + id + ": " + inLine); output.flush(); if(inLine.toUpperCase().equals("BYE")){ outputS.writeObject("服务器:你已和服务器断开连接"); this.inputS.close(); this.outputS.close(); this.connection.close(); connections.remove(this); } } } } } catch (IOException e) { System.out.println("客户已退出连接"); connections.remove(this); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally{ try { inputS.close(); connection.close(); } catch (IOException e) { System.out.println("关闭连接错误"); } } } } } ...展开详情收缩
2009-06-13 上传大小:11KB
立即下载 开通VIP
分享
收藏 举报

热点文章

  • 基于C# Winform的简易聊天程序[socket-信息群发]

    2017-06-30 fsdad
  • 使用webSocket简单实现群发消息和指定用户发送消息

    2017-05-09 yanwu12138
  • 公众号之发送模板消息

    2018-04-28 u012729832
  • Java Socket编程Demo-基于TCP的单服务器多客户机群发/私聊系统

    2015-05-07 u014030117
  • Java Socket编程 - 基于TCP方式的客户服务器聊天程序

    2012-11-18 jia20003
  • 如何在微信公众帐号开发模式下,通过程序代码向用户发送符号表情。

    2013-07-19 i_like_cpp
  • 微信公众平台开发之Java实现群发消息

    2017-09-17 qq_28550739
  • 【极光推送】给指定用户发送消息

    2016-04-26 xuexiiphone
  • 微信公众号客服接口给指定用户openid发送消息

    2018-02-06 xm526489770
  • 微信模板信息发送给用户(JAVA)

    2016-01-25 ZW_KK
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

可群发,冒号加客户号可指定用户发送的java聊天程序

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: