广告
返回顶部
首页 > 资讯 > 后端开发 > Python >用Java实现聊天程序
  • 134
分享到

用Java实现聊天程序

2024-04-02 19:04:59 134人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

利用Java编写聊天程序,供大家参考,具体内容如下 首先计算机网络有两种传输层协议:tcp(面向连接),UDP(面向无连接)。今天就介绍基于这两种协议的聊天程序。 先查明自己电脑的主

利用Java编写聊天程序,供大家参考,具体内容如下

首先计算机网络有两种传输层协议:tcp(面向连接),UDP(面向无连接)。今天就介绍基于这两种协议的聊天程序。

先查明自己电脑的主机名

右键我的电脑-->属性

一、基于UDP的聊天程序

1.基于UDP的发送端

package cn.com;


import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

public class Send {

    public static void main(String[] args) throws IOException {
        @SuppressWarnings("resource")
        DatagramSocket ds = new DatagramSocket();
        Scanner sc = new Scanner(System.in);
        String line = null;
        while ((line = sc.nextLine()) != null) {
            byte[] buf = line.getBytes();
            int length = buf.length;
            InetAddress address = InetAddress.getByName("1-PC21");//主机名
            DatagramPacket dp = new DatagramPacket(buf, length, address, 10086);   //10086为自己设置的端口号
            ds.send(dp);
        }
        sc.close();
    }

}

2.基于UDP的接收端

package cn.com;


import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Receive {

    public static void main(String[] args) throws IOException {
        @SuppressWarnings("resource")
        DatagramSocket ds = new DatagramSocket(10086);//端口号需一致

        while (true) {
            byte[] b = new byte[1024 * 1];
            int length = b.length;
            DatagramPacket dp = new DatagramPacket(b, length);
            ds.receive(dp);

            byte[] data = dp.getData();
            int length2 = dp.getLength();
            String hostAddress = dp.getAddress().getHostAddress();
            String s = new String(data, 0, length2);
            System.out.println(s + "来自" + hostAddress);
        }

    }

}

3.先运行接收端,在运行发送端

发送端发送“Hello World”,“My name is Tom”。

接收端收到信息

二、基于TCP的聊天程序

1.客户端

package cn.com;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;

public class Client {

    public static void main(String[] args) throws IOException {
        InetAddress address = InetAddress.getByName("1-PC21");//主机名
        int port = 10089;

        Scanner sc = new Scanner(System.in);
        String line = null;
        while ((line = sc.nextLine()) != null) {
            @SuppressWarnings("resource")
            Socket socket = new Socket(address, port);   //socket要在循环体中定义
            OutputStream os = socket.getOutputStream();
            os.write(line.getBytes());

            // 客户端接收服务端返回的消息(输入流)
            InputStream is = socket.getInputStream();
            byte[] b = new byte[1024 * 1];
            int len = is.read(b);
            String s = new String(b, 0, len);
            System.out.println(s);
        }
        sc.close();

    }

}

2.服务端

package cn.com;


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public static void main(String[] args) throws IOException {
        @SuppressWarnings("resource")
        ServerSocket ss = new ServerSocket(10089);

        while (true) {
            Socket accept = ss.accept();    //循环中用到accept,所以要在循环中新建定义
            InputStream is = accept.getInputStream();
            byte[] b = new byte[1024 * 1];
            int len = is.read(b);
            String s = new String(b, 0, len);
            System.out.println("已接收客户端内容-->" + s);

            // 给客户端返回数据
            OutputStream os = accept.getOutputStream();
            String content = "客户端接收成功";
            os.write(content.getBytes());

            os.close();
            is.close();
            accept.close();
        }

    }

}

3.还是先打开服务端,再打开客户端,发送信息

客户端发送:“今天星期四”,“天气很好” 两条信息。

服务端收到信息:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 用Java实现聊天程序

本文链接: https://www.lsjlt.com/news/167641.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 用Java实现聊天程序
    利用Java编写聊天程序,供大家参考,具体内容如下 首先计算机网络有两种传输层协议:TCP(面向连接),UDP(面向无连接)。今天就介绍基于这两种协议的聊天程序。 先查明自己电脑的主...
    99+
    2022-11-13
  • java控制台实现聊天程序
    本文实例为大家分享了java控制台实现聊天程序的具体代码,供大家参考,具体内容如下 发送端 package ip.chat; import java.io.BufferedRe...
    99+
    2022-11-12
  • java NIO实现简单聊天程序
    本文实例为大家分享了java NIO实现简单聊天程序的具体代码,供大家参考,具体内容如下 服务端 功能: 1、接受客户端连接 2、发送消息 3、读取客户端消息 Server.jav...
    99+
    2022-11-12
  • java实现实时通信聊天程序
    利用TCP传输数据,编写客户端和服务器的程序,实现两个程序间的实时通信。 在每个程序中实现了实时的发送与接收数据的功能。 客户端的io界面 服务器端的io界面 io演示 程序以...
    99+
    2022-11-13
  • C++实现聊天程序
    本文实例为大家分享了C++实现聊天程序的具体代码,供大家参考,具体内容如下 服务端 #include<iostream> #include<WinSock2.h...
    99+
    2022-11-12
  • JavaBIO实现聊天程序
    本文实例为大家分享了Java BIO实现聊天程序的具体代码,供大家参考,具体内容如下 我们使用一个聊天程序来说本文的主题 1、BIO 客户端服务器通讯 public class ...
    99+
    2022-11-12
  • Java实现局域网聊天小程序
    本文实例为大家分享了Java实现局域网聊天的具体代码,供大家参考,具体内容如下 开发环境: IDEA 2018.2 集成开发工具。 实现功能: 1、用户上线,向服务器通知并注册。 2...
    99+
    2022-11-13
  • Java NIO怎么实现聊天室程序
    本文小编为大家详细介绍“Java NIO怎么实现聊天室程序”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java NIO怎么实现聊天室程序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。服务端:package&n...
    99+
    2023-06-17
  • C++实现聊天小程序
    C++写一个游戏聊天服务器,供大家参考,具体内容如下 最近学习网络编程写了个聊天小程序,写个博客记录下自己的代码 涉及的技术: c++网络编程 c++多线程 ...
    99+
    2022-11-12
  • java控制台如何实现聊天程序
    本篇内容主要讲解“java控制台如何实现聊天程序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java控制台如何实现聊天程序”吧!本文实例为大家分享了java控制台实现聊天程序的具体代码,供大家...
    99+
    2023-06-20
  • java NIO怎么实现简单聊天程序
    这篇文章主要为大家展示了“java NIO怎么实现简单聊天程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java NIO怎么实现简单聊天程序”这篇文章吧。具体内容如下服务...
    99+
    2023-06-21
  • Java模拟QQ实现聊天互动程序
    目录介绍功能演示运用到的知识点核心代码服务端客户端介绍 实现的功能、步骤: 1、定义JFrame窗体中的组件 2、在构造方法中初始化窗体的组件 3、使用网络编程完成数据的传输(TCP...
    99+
    2022-11-13
  • 用java编写qq聊天程序
    下面是一个简单的使用Java编写的QQ聊天程序的代码示例:```javaimport java.io.*;import java.n...
    99+
    2023-09-13
    java
  • C++怎么实现聊天程序
    这篇文章主要为大家展示了“C++怎么实现聊天程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++怎么实现聊天程序”这篇文章吧。具体内容如下服务端#include<iostream>...
    99+
    2023-06-20
  • Java实现带图形界面的聊天程序
    本文实例为大家分享了Java实现带图形界面聊天程序的具体代码,供大家参考,具体内容如下 ServerDemo01.java import javax.swing.*; import ...
    99+
    2022-11-13
  • Java如何实现局域网聊天小程序
    今天小编给大家分享一下Java如何实现局域网聊天小程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发环境:IDEA 20...
    99+
    2023-06-30
  • 利用QT实现UDP聊天小程序
    利用QT的UDP技术,实现两个QT程序之间的聊天程序。 示例代码 #ifndef WIDGET_H #define WIDGET_H #include <QWidget&g...
    99+
    2022-11-21
    QT UDP聊天程序 QT UDP聊天 QT UDP
  • 怎么用C++实现聊天小程序
    本篇内容介绍了“怎么用C++实现聊天小程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C++写一个游戏聊天服务器,供大家参考,具体内容如下...
    99+
    2023-06-20
  • Java编写网络聊天程序实验
    本文实例为大家分享了Java编写网络聊天程序的具体代码,供大家参考,具体内容如下 课程名称 高级Java程序设计 实验项目 Java网络编程 实验目的: 使用客户机/服务器模式、基于...
    99+
    2022-11-13
    Java网络聊天程序 Java网络聊天 Java聊天程序
  • Java实现单线程聊天室
    本文实例为大家分享了Java实现单线程聊天室的具体代码,供大家参考,具体内容如下 一. Socket API简介 1. Socket编程 Java.net.Socket类代表一个套接...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作