`

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范型的即时聊天系统。

    在本文中,我们将深入探讨如何使用Java的Socket编程来实现一个简单的基于P2P(Peer-to-Peer)范型的即时聊天系统。P2P网络架构允许每个节点既是客户端也是服务器,这种模式使得数据传输更加分散,提高了系统的可扩展...

    java socket gui 的小 demo

    Java Socket GUI 小 Demo 是一个基于Java编程语言实现的客户端-服务器通信的应用示例,它结合了Socket编程和图形用户界面(GUI)技术。Socket编程是网络编程的基础,用于在不同计算机之间建立连接并交换数据。GUI则...

    Java实现聊天demo

    在Java编程领域,实现一个聊天应用的Demo是一个常见的学习任务,它可以帮助开发者理解网络通信、多线程以及数据传输的基本原理。在这个Java实现聊天demo中,我们主要关注以下几个关键知识点: 1. **Java Socket编程...

    java-客户端和服务端的聊天demo.zip

    在这个"java-客户端和服务端的聊天demo.zip"压缩包中,提供了一个基于TCP协议的简单在线聊天示例,非常适合初学者理解网络编程的基本概念和工作原理。 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的...

    Java即时通讯系统demo

    Java即时通讯系统是一种基于网络的通信应用程序,它允许用户实现实时的信息交换,类似于QQ这样的流行聊天工具。这个Demo展示了如何使用Java编程语言构建这样一个系统的基础架构和核心功能。在这个项目中,我们可以...

    一个简单的maven-socket连接demo

    这个简单的`maven-socket连接demo`为你提供了一个基础的起点,你可以在此基础上扩展出更复杂的实时通信应用,例如聊天应用、实时数据监控或多人在线游戏等。理解并掌握`Maven`的构建流程、`Socket.IO`的事件驱动机制...

    网上很多基于Socket的聊天实现都是不完整的,结合自己的经验写了个完整的Demo

    在这个"网上很多基于Socket的聊天实现都是不完整的,结合自己的经验写了个完整的Demo"项目中,作者通过创建一个具体的Demo来展示如何利用Socket进行完整的聊天应用开发。这个Demo主要针对Android平台,从文件名...

    java多人聊天客户端和服务器端

    本项目是一个基于Java实现的多人聊天系统,它包括客户端(ClientDemo.java)和服务器端两部分,旨在提供一个实时、互动的通信平台,允许多个用户通过网络进行对话交流。这个系统的核心在于利用Java的Socket编程来...

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

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

    用java编写的聊天工具(供新手参考学习)

    在这个"用Java编写的聊天工具"项目中,我们可以深入理解Java网络编程、多线程以及GUI设计等核心概念。 首先,让我们来看看Java网络编程。在这个聊天工具中,最基础的部分是客户端和服务器之间的通信。Java提供了...

    Socket+JDBC+IO实现Java文件上传下载器DEMO详解

    Socket+JDBC+IO实现Java文件上传下载器DEMO详解 本资源详解了使用Socket+JDBC+IO实现Java文件上传下载器的DEMO,涵盖了用户注册、用户登录、文件上传、文件下载、文件更新、文件删除、查看数据库所有文件、查看文件...

    Android使用socket的demo

    在Android应用开发中,Socket通常用于实现客户端与服务器之间的通信,例如即时聊天应用、文件传输应用等。下面我们将深入探讨Socket的基本使用、注意事项以及交互流程。 1. **Socket基础知识**: - **Socket接口**...

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

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

    Android安卓使用iosocket进行Socket通信简单封装优雅写代码

    在Android平台上,Socket通信是应用程序之间进行数据交换的重要方式,特别是在需要实时通信或者低延迟的场景下,如游戏、聊天应用等。`io.socket`库是Android开发者常用来实现WebSocket和TCP/IP Socket通信的一个...

    基于Socket的as3的小型聊天室

    一旦服务器运行,AS3客户端(SocketDemo2.fla)可以连接到服务器,显示聊天界面,允许用户输入并发送消息,同时接收并显示其他用户的消息。 总的来说,这个项目涵盖了网络编程的关键概念,包括客户端-服务器通信、...

    Java简单聊天器模拟

    Java简单聊天器模拟是一个基于网络通信的项目,主要利用了Socket编程来实现客户端与服务器端的交互。在本文中,我们将深入探讨这个项目的核心概念、技术实现和应用场景。 首先,我们要理解Socket的基本概念。Socket...

    socket 多线程通信demo,长连接,自动检测,可自动关闭

    在IT领域,网络通信是至关重要的部分,而`socket`编程是实现这一目标的基础工具。本示例将探讨如何利用`socket`进行多线程通信,实现长连接,并且包含心跳检测机制,允许系统自动关闭无响应的连接。我们将深入讨论...

    30分钟小Demo,基于Socket套接字实现即时通信IM

    通过这个30分钟的小Demo,开发者可以快速了解Socket在即时通信中的应用,为进一步开发复杂的聊天应用或协作工具奠定基础。同时,这个项目也提供了一个实战平台,帮助开发者实践网络编程和多线程等关键技能。

    Java WebSocket 多人聊天室Deomo

    WebSocket是Web交互技术的一种革新,它为实时双向通信提供了低延迟、高效率的...通过这个"Java WebSocket 多人聊天室Demo",我们可以深入了解WebSocket的工作原理以及如何在Java环境中实现WebSocket服务器和客户端。

Global site tag (gtag.js) - Google Analytics