黑马程序员—聊天小程序
------- <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>、期待与您交流! ----------
黑马程序员—聊天小程序相关推荐
- 程序员实用小程序_我从阅读《实用程序员》中学到了什么
程序员实用小程序 In short: old but gold. 简而言之:古老而又黄金. Published in 1999, The Pragmatic Programmer is a book ...
- php 小程序即时聊天,小程序组件:聊天会话组件的介绍(附代码)
本篇文章给大家带来的内容是关于小程序组件:聊天会话组件的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 场景 用于在线客服的聊天对话等 一.布局圈点 1.三角箭头 绘制 ...
- c语言代码表白_用微信表情翻译表白,程序员的小浪漫,赶紧Get起来
"也许你不会发现,但我提及了,你肯定知道!" 微信作为一个社交的APP,被很多人使用,已经是人们离不开的软件. 它里面的很多功能在都在日常生活给了我们很多帮助,如手机话费支付,水电 ...
- javaweb通过iis实现域账号免登陆_聊天小程序的Java实现
登陆界面 注册账号 找回密码 重设密码 聊天界面 多人聊天 一. 设计任务 1.1设计意义 <Java基础入门>课程设计是对学生的一种全面综合训练,它包括问题分析,用户界面设计,程序设计基 ...
- 以前和程序员聊天,聊着聊着,突然他们就聊到了编程,我也听不懂
以前和程序员聊天,聊着聊着,突然他们就聊到了编程,我也听不懂,就只能一直"嗯"."嗯嗯"."对"."然后呢". 奇怪的是 ...
- 用微信表情翻译表白,程序员的小浪漫,赶紧Get起来!
"也许你不会发现,但我提及了,你肯定知道!" 微信作为一个社交的APP,被很多人使用,已经是人们离不开的软件. 它里面的很多功能在都在日常生活给了我们很多帮助,如手机话费支付,水电 ...
- Java的网络编程【TCP与UDP聊天小程序】
Java的网络编程[TCP与UDP聊天小程序] 1. TCP协议 1.1 传输控制协议(Transmission Control Protocol),是一种**面向连接(全程保持连接)**的协议,类似 ...
- python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- python socket能做什么_用python写一个聊天小程序!和女朋友的专属聊天工具!
原标题:用python写一个聊天小程序!和女朋友的专属聊天工具! 1.UDP简介 Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP).UDP为应用程序提供了无需建立就可 ...
最新文章
- java动态添加组件_有关Java Swing动态增加组件
- UA MATH567 高维统计IV Lipschitz组合8 随机投影与John-Lindenstrauss引理
- Python 面向对象 编程(一)
- 聚类算法中各种距离的计算与python的具体实现代码
- npm install -g -S -D的区别及应用场景
- REVERSE-PRACTICE-BUUCTF-7
- excel vba 如何将日期周几转换成文字_这5个超实用的Excel技巧,让你的办公效率更高...
- python-虚拟环境操作指令-centos环境下
- C/C++和MFC的批处理特定文件
- jboss下载及安装
- java单例模式代码
- 3DMax导出FBX文件贴图丢失
- ideaIU-2020.1.3的安装
- 基于AChartEngine绘制股票走势图----分时图二(五日,涨跌涨跌幅)
- ASCII码与英文的显示原理
- 【爬坑记录】记录搭建fabric 遇到的问题-network e2ecli_default not found
- 【小程序源码】云开发表情包制作神器微信小程序源码下载,支持各种自定义
- 获取URL地址时某些参数被转义
- vue2.0引入antd
- 马来西亚-沙巴-亚庇游记