------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

写着两个程序是我是卸载两个java文件下的,而且这两个文件分别放在了两个不同的目录下,也就是同时打开两个MyEclipse窗口,这样有利于调试,查看效果更明显。

聊天甲:

package twenty_three;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;

/*编写一个聊天程序。
 * 右手数据的部分,和发数据的部分。
 * 这两部分需要扫同事执行。
 * 那就用到多线程技术术
 * 一个县程控制接收,一个线程控制发
 * 因为收和发是不一致的,所以要制定两个run方法
 * 而且两个方法要封装到不同的类中。
 * */
class Send  implements Runnable
{
private DatagramSocket dss;
public  Send(DatagramSocket dss)
{
this.dss=dss;
}
public void run()
{
try
{
BufferedReader bufer=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((line=bufer.readLine())!=null)
{
if("886".equals(line))
break;
byte[]buf=line.getBytes();
DatagramPacket dpp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.106.255"),6539);//255是广播地址
dss.send(dpp);
}
}
catch(Exception e)
{
throw new RuntimeException("发送端失败");
}
}

}
class Rece implements Runnable
{
private DatagramSocket dss;
public Rece(DatagramSocket dss)
{
this.dss=dss;
}
public  void run()
{
try
{
while(true)
{
byte[]buf=new byte[1024];
DatagramPacket dpp=new DatagramPacket(buf,buf.length);
dss.receive(dpp);
String ip=dpp.getAddress().getHostAddress();
String data=new String(dpp.getData(),0,dpp.getLength());
System.out.println(ip+":::"+data);
}
}
catch(Exception e)
{
throw new RuntimeException("接受端失败");
}
}

}
public class Ten {
public static void main(String[] args) throws Exception{
DatagramSocket sendSocket =new DatagramSocket();
DatagramSocket receSocket=new DatagramSocket(6540);
new Thread(new Send(sendSocket)).start();
new Thread(new Rece(receSocket)).start();
}

}

聊天乙:

package twenty_three;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;

/*编写一个聊天程序。
 * 右手数据的部分,和发数据的部分。
 * 这两部分需要扫同事执行。
 * 那就用到多线程技术术
 * 一个县程控制接收,一个线程控制发
 * 因为收和发是不一致的,所以要制定两个run方法
 * 而且两个方法要封装到不同的类中。
 * */
class Send  implements Runnable
{
private DatagramSocket dss;
public  Send(DatagramSocket dss)
{
this.dss=dss;
}
public void run()
{
try
{
BufferedReader bufer=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((line=bufer.readLine())!=null)
{
if("886".equals(line))
break;
byte[]buf=line.getBytes();
DatagramPacket dpp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.106.255"),6540);//255是广播地址
dss.send(dpp);
}
}
catch(Exception e)
{
throw new RuntimeException("发送端失败");
}
}

}
class Rece implements Runnable
{
private DatagramSocket dss;
public Rece(DatagramSocket dss)
{
this.dss=dss;
}
public  void run()
{
try
{
while(true)
{
byte[]buf=new byte[1024];
DatagramPacket dpp=new DatagramPacket(buf,buf.length);
dss.receive(dpp);
String ip=dpp.getAddress().getHostAddress();
String data=new String(dpp.getData(),0,dpp.getLength());
System.out.println(ip+":::"+data);
}
}
catch(Exception e)
{
throw new RuntimeException("接受端失败");
}
}

}
public class Ten {
public static void main(String[] args) throws Exception{
DatagramSocket sendSocket =new DatagramSocket();
DatagramSocket receSocket=new DatagramSocket(6539);
new Thread(new Send(sendSocket)).start();
new Thread(new Rece(receSocket)).start();
}

}

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

黑马程序员—聊天小程序相关推荐

  1. 程序员实用小程序_我从阅读《实用程序员》中学到了什么

    程序员实用小程序 In short: old but gold. 简而言之:古老而又黄金. Published in 1999, The Pragmatic Programmer is a book ...

  2. php 小程序即时聊天,小程序组件:聊天会话组件的介绍(附代码)

    本篇文章给大家带来的内容是关于小程序组件:聊天会话组件的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 场景 用于在线客服的聊天对话等 一.布局圈点 1.三角箭头 绘制 ...

  3. c语言代码表白_用微信表情翻译表白,程序员的小浪漫,赶紧Get起来

    "也许你不会发现,但我提及了,你肯定知道!" 微信作为一个社交的APP,被很多人使用,已经是人们离不开的软件. 它里面的很多功能在都在日常生活给了我们很多帮助,如手机话费支付,水电 ...

  4. javaweb通过iis实现域账号免登陆_聊天小程序的Java实现

    登陆界面 注册账号 找回密码 重设密码 聊天界面 多人聊天 一. 设计任务 1.1设计意义 <Java基础入门>课程设计是对学生的一种全面综合训练,它包括问题分析,用户界面设计,程序设计基 ...

  5. 以前和程序员聊天,聊着聊着,突然他们就聊到了编程,我也听不懂

    以前和程序员聊天,聊着聊着,突然他们就聊到了编程,我也听不懂,就只能一直"嗯"."嗯嗯"."对"."然后呢". 奇怪的是 ...

  6. 用微信表情翻译表白,程序员的小浪漫,赶紧Get起来!

    "也许你不会发现,但我提及了,你肯定知道!" 微信作为一个社交的APP,被很多人使用,已经是人们离不开的软件. 它里面的很多功能在都在日常生活给了我们很多帮助,如手机话费支付,水电 ...

  7. Java的网络编程【TCP与UDP聊天小程序】

    Java的网络编程[TCP与UDP聊天小程序] 1. TCP协议 1.1 传输控制协议(Transmission Control Protocol),是一种**面向连接(全程保持连接)**的协议,类似 ...

  8. python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  9. python socket能做什么_用python写一个聊天小程序!和女朋友的专属聊天工具!

    原标题:用python写一个聊天小程序!和女朋友的专属聊天工具! 1.UDP简介 Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP).UDP为应用程序提供了无需建立就可 ...

最新文章

  1. java动态添加组件_有关Java Swing动态增加组件
  2. UA MATH567 高维统计IV Lipschitz组合8 随机投影与John-Lindenstrauss引理
  3. Python 面向对象 编程(一)
  4. 聚类算法中各种距离的计算与python的具体实现代码
  5. npm install -g -S -D的区别及应用场景
  6. REVERSE-PRACTICE-BUUCTF-7
  7. excel vba 如何将日期周几转换成文字_这5个超实用的Excel技巧,让你的办公效率更高...
  8. python-虚拟环境操作指令-centos环境下
  9. C/C++和MFC的批处理特定文件
  10. jboss下载及安装
  11. java单例模式代码
  12. 3DMax导出FBX文件贴图丢失
  13. ideaIU-2020.1.3的安装
  14. 基于AChartEngine绘制股票走势图----分时图二(五日,涨跌涨跌幅)
  15. ASCII码与英文的显示原理
  16. 【爬坑记录】记录搭建fabric 遇到的问题-network e2ecli_default not found
  17. 【小程序源码】云开发表情包制作神器微信小程序源码下载,支持各种自定义
  18. 获取URL地址时某些参数被转义
  19. vue2.0引入antd
  20. 马来西亚-沙巴-亚庇游记

热门文章

  1. 今日头条这么火,主要解决了用户的哪些基本痛点
  2. 网络编程:C10K问题而引出的reactor模型
  3. PLSQL Developer新手使用教程(图文教程)(转载)
  4. textcnn文本词向量_基于Text-CNN模型的中文文本分类实战
  5. 什么是rmi?为什么要使用rmi框架?
  6. 《炒股的智慧》第8节文摘
  7. 翻译德文到中文,北京德文翻译哪家好?
  8. C专家编程 精编之一
  9. JDK更换IDEA如何修改
  10. 【下载器篇】IDM下载器个性化设置