1-1 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序。具体如下:
(1)、Tom和Jerry聊天的双方都应该具有发送端和接收端;
(2)、利用DatagramSocket与DatagramPacket;
(3)、实现 java.lang.Runnable类,重写 run()方法。

Jerry代码:

public class UDPSocket_Jerry {public class UDPSocket_Jerry {public static void main(String[] args) {//分别启动发信息线程和收消息线程Thread thread1 = new Thread(new UDPSocketClientthread());Thread thread2 = new Thread(new UDPSocketServerthread());thread1.start();thread2.start();}
}
public class UDPSocketClientthread implements Runnable {DatagramSocket datagramSocket;{try {datagramSocket = new DatagramSocket(8081);} catch (SocketException e) {e.printStackTrace();}}byte[] ibuf = new byte[1024];DatagramPacket datagramPacket = new DatagramPacket(ibuf, ibuf.length);@Overridepublic void run() {while (true) {try {datagramSocket.receive(datagramPacket);} catch (IOException e) {e.printStackTrace();}System.out.println("Tom:" + new String(datagramPacket.getData(), 0, datagramPacket.getLength()));}}
}
import java.io.IOException;
import java.net.*;
import java.util.Scanner;public class UDPSocketServerthread implements Runnable {byte[] ibuf = new byte[1024];String message;Scanner scanner = new Scanner(System.in);DatagramPacket datagramPacket;{try {datagramPacket = new DatagramPacket(ibuf, ibuf.length, InetAddress.getByName("127.0.0.1"), 2020);} catch (UnknownHostException e) {e.printStackTrace();}}DatagramSocket ds;{try {ds = new DatagramSocket(8080, InetAddress.getByName("127.0.0.1"));} catch (SocketException | UnknownHostException e) {e.printStackTrace();}}@Overridepublic void run() {while (true) {message = scanner.nextLine();datagramPacket.setData(message.getBytes());try {assert ds != null;ds.send(datagramPacket);} catch (IOException e) {e.printStackTrace();}}}
}

Tom代码:

public class UDPSocket_Tom {public static void main(String[] args) {Thread thread1 = new Thread(new UDPSocketClientthread());Thread thread2 = new Thread(new UDPSocketServerthread());thread1.start();thread2.start();}
}
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;public class UDPSocketClientthread implements Runnable{DatagramSocket datagramSocket;{try {datagramSocket = new DatagramSocket(2020);} catch (SocketException e) {e.printStackTrace();}}byte[] ibuf = new byte[1024];DatagramPacket datagramPacket = new DatagramPacket(ibuf, ibuf.length);@Overridepublic void run() {while(true){try {datagramSocket.receive(datagramPacket);} catch (IOException e) {e.printStackTrace();}System.out.println("Jerry:"+new String(datagramPacket.getData(),0,datagramPacket.getLength()));}}
}
import java.io.IOException;
import java.net.*;
import java.util.Scanner;public class UDPSocketServerthread implements Runnable{byte[] ibuf = new byte[1024];String message;Scanner scanner = new Scanner(System.in);DatagramPacket datagramPacket;{try {datagramPacket = new DatagramPacket(ibuf, ibuf.length, InetAddress.getByName("127.0.0.1"), 8081);} catch (UnknownHostException e) {e.printStackTrace();}}DatagramSocket ds;{try {ds = new DatagramSocket(8083, InetAddress.getByName("127.0.0.1"));} catch (SocketException | UnknownHostException e) {e.printStackTrace();}}@Overridepublic void run() {while (true) {message = scanner.nextLine();datagramPacket.setData(message.getBytes());try {assert ds != null;ds.send(datagramPacket);} catch (IOException e) {e.printStackTrace();}}}
}

代码运行截图(用两个终端开启)

假设Tom和Jerry利用Java UDP进行聊天相关推荐

  1. 计网实验一 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序。具体如下:

    一[实验目的] 掌握基于多线程的复杂网络程序的开发方法和开发流程: 按照要求设计实现软件,以培养应用复杂计算系统开发的能力,并在设计和开发过程中体现出创新意识. 二[实验要求] 以下每个实验均要求: ...

  2. 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序。

    假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Datagr ...

  3. 利用java编写网络聊天程序并加密信息

    利用java编写网络聊天程序并加密信息 优化了代码后的地址:https://blog.csdn.net/qq_43483251/article/details/125470514?spm=1001.2 ...

  4. java udp简单聊天程序_Java基于UDP协议实现简单的聊天室程序

    最近比较闲,一直在抽空回顾一些java方面的技术应用. 今天没什么事做,基于udp协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对java网络编程方面的一个简单回忆. ...

  5. 【计算机网络作业】Java UDP聊天 和 Socket编写一个简单的Web服务器

    1-1 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Da ...

  6. java UDP实现一个聊天工具

    题目: 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Da ...

  7. java猫和老鼠_【进化史】猫和老鼠游戏进化史 Tom and Jerry Games 1989 - 2020

    https://youtu.be/7grgYL-Rp7M History Of Tom and Jerry Games 1989 to 2020 作者:M Pro Channel 1. Tom and ...

  8. java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...

    近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...

  9. 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换

    作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...

最新文章

  1. 使用lisp函数控制cursor
  2. 对称加密之分组加密【四】
  3. 清明节特辑 |记忆存储、声音还原、性格模仿……AI可以让人类永生吗?
  4. mosquitto mysql_在laravel中使用Mosquitto-PHP
  5. 来学习一下概率论基本知识,它能让防止你的模型过拟合
  6. 下拉菜单被表单、图片、FLASH挡住的解决办法
  7. dell笔记本c语言系统,戴尔dell笔记本电脑U盘重装系统win7教程图解
  8. 转:标准C++中的string类的用法总结
  9. 用户行为分析面面观之三
  10. 人工智能数学基础之线性代数(持续更新)
  11. 前端-----小米商城模块练习
  12. 11g oracle 客户端驱动_oracle odbc driver configuration(oracle 11g odbc驱动程序) 64位/32位
  13. CTF-实验吧-安全杂项-社交网络
  14. NABCD模型--软件工程
  15. 用神经网络实现机器翻译实战
  16. win10系统无法打开计算器等应用解决办法
  17. scrapy框架爬取网站图片
  18. Python与数据库
  19. 数据统计分析软件介绍
  20. NiFi 常用处理器(Processor)介绍

热门文章

  1. 斗鱼扩展--notifications提示(十二)
  2. 为什么需要WhatsApp聊天翻译,如何在SendWS的客服系统实现WhatsApp实时翻译群控功能?
  3. 微信小程序 按钮字体设置
  4. 编写第一个自己的网页(静夜思网页的实现)
  5. tp5 阿里大于短信
  6. TCRT5000-ESP32-micropython-实验-error:rst:0x10 (RTCWDT_RTC_RESET),boot:0x13(SPI_FAST_FLASH_BOOT)
  7. 扫地机器人石头爬坡_障碍挡不住!石头扫地机器人T6体验:脱困越障不跌落的全能选手...
  8. 基于JAVA的RC4加密解密算法循环实现
  9. 网络语音流隐写分析全流程 (Steganalysis of VoIP Speech Streams)
  10. 解释性语言与编译性语言