`

java socket实现的简易的聊天工具demo

阅读更多
这是一个使用原生java socket实现的简易的聊天工具demo, 界面使用java swing

界面如下:

----------

项目目录结构

代码:

https://gitee.com/kunlunsoft/inetAdress_socket.git 

d代码核心注意事项:

1.服务器socket 对客户端socket的监听应该放在线程中,否则界面会阻塞,"死机";

new Thread(new Runnable() {

            @Override
            public void run() {
                try {

                    client = server.accept();
                    System.out.println("有客户端连接成功 :" + client.getLocalAddress().getHostAddress());
                    ServerApp.isConnected = true;
                    reader = new BufferedReader(new InputStreamReader(
                            client.getInputStream()));
                    out = new PrintStream(client.getOutputStream());
                    out.println(Constant2.CRLF_newLine_placeholder + "connect successfully");
                } catch (IOException e) {
                    e.printStackTrace();
                    System.out.println("error");
                    return;
                }

            }
        }).start();

 

2.通过socket读取聊天信息时要使用两重循环

第一次(最外层)循环是死循环,目的是持续监听socket输入流,判断是否有聊天信息;

第二层循环 是用于读取socket,如果没有可读取的内容,则会退出该循环.

 

3,如果连续两次循环都没有读取到内容,则说明socket连接异常断开了

代码:

https://gitee.com/kunlunsoft/inetAdress_socket.git 

 

netty版本的简易聊天工具:

依赖:

<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.21.Final</version>
        </dependency>

 http://i.yhskyc.com/product/1

0
0
分享到:
评论

相关推荐

    用Java Socket实现一个简单的基于P2P范型的即时聊天系统。

    暂时仅仅设计了以下几个功能点: 1.点对点单人聊天; 2.多人在线同时聊天; 3.用户可以自由加入和退出系统; 4.具备用户在线状态监听;

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件...

    GW_Socket_JAVA:网页即时聊天工具,socket连接,包含前后端

    GW_Socket_JAVA 简单实现了socket服务器/客户端demo 具有群聊和单人聊天的功能

    netty3.5.2实现点对点、点对多的聊天demo

    本demo是基于netty3.5.2开发的在对象传输上实现的局域网聊天的一个小小socketTcp网络通信测试用例,通信是通过服务器作中转的,网上也有大神说可以通过在客户端实现服务端功能和客户端功能,这样就不用中转这一过程...

    Android应用源码安卓源码包wifi蓝牙串口&Socket通讯窗口抖动Widget小组件等20个合集.zip

    Android应用源码安卓与PC的Socket通信项目C#版+Java版.rar Android应用源码安卓与PC的Socket通信项目java版.rar Android系统访问串口设备源码.rar android蓝牙连接打印机.rar samsung android 蓝牙4.0开发工具包和...

    SpringMVC基础上的web框架

    Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...

    基于Spring MVC的web框架 1.1.11

    Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...

    一个可以直接运行的基于SpringMVC的web框架1.1.12

    Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...

    可以直接运行的基于SpringMVC的web框架示例,也可以直接当公司框架

    Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...

    基于SpringMVC的一个web框架

    Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...

    JavaDoubleTalk.zip

    socket通信--实现简单两人聊天例子,主要就有两个类文件,开发工具用idea与eclipse都可以,简单容易上手,学习参考即可

    work_space_idea:新的项目仓库

    fonts-js-unpackage // apk存放位置-audio.html-index.html // 测试住界面-manifest.jsonmobilewebvoiceChat-src-main-java-com-chat-common // 通用类-util // 工具类-sys-web-entity-service-socket-web-resources...

    vc代码合集

    2012-06-11 10:28 1,720,527 类似QQ的聊天软件JAVA版源码(附设计文档).rar 2012-06-11 10:25 1,722 自己封装的木马js替换工具iframeKill.rar 2012-06-11 10:29 629,932 获取硬盘物理序列号和CPU序列号.rar 2012-06...

Global site tag (gtag.js) - Google Analytics