最简单的聊天程序
来源:互联网 发布:浏览器域名劫持 编辑:程序博客网 时间:2024/06/14 01:47
编写一个聊天程序。
有收数据的部分,和发数据的部分。
这两部分需要同时执行。
那就需要用到多线程技术。
一个线程控制收,一个线程控制发。
因为收和发动作是不一致的,所以要定义两个run方法。
有收数据的部分,和发数据的部分。
这两部分需要同时执行。
那就需要用到多线程技术。
一个线程控制收,一个线程控制发。
因为收和发动作是不一致的,所以要定义两个run方法。
而且这两个方法要封装到不同的类中。
import java.io.*;import java.net.*;class Send implements Runnable{private DatagramSocket ds;public Send(DatagramSocket ds){this.ds = ds;}public void run(){try{BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));String line = null;while((line=bufr.readLine())!=null){byte[] buf = line.getBytes();DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.255"),10002);ds.send(dp);if("886".equals(line))break;}}catch (Exception e){throw new RuntimeException("发送端失败");}}}
class Rece implements Runnable{private DatagramSocket ds;public Rece(DatagramSocket ds){this.ds = ds;}public void run(){try{while(true){byte[] buf = new byte[1024];DatagramPacket dp = new DatagramPacket(buf,buf.length);ds.receive(dp);String ip = dp.getAddress().getHostAddress();String data = new String(dp.getData(),0,dp.getLength());if("886".equals(data)){System.out.println(ip+"....离开聊天室");break;}System.out.println(ip+":"+data);}}catch (Exception e){throw new RuntimeException("接收端失败");}}}
class ChatDemo{public static void main(String[] args) throws Exception{DatagramSocket sendSocket = new DatagramSocket();DatagramSocket receSocket = new DatagramSocket(10002);new Thread(new Send(sendSocket)).start();new Thread(new Rece(receSocket)).start();}}
- 最简单的聊天程序
- 最简单的 socketAPI 聊天程序例子
- 一个最简单的聊天程序2
- 一个最简单聊天程序
- 用Socket建立个最简单的聊天程序
- 最简单的Linux命令行Socket聊天程序源代码
- Python实现最简单的双人聊天程序
- 简单的聊天程序
- 简单的单机聊天程序
- 简单的聊天小程序
- 简单的局域网聊天程序
- 一个简单的聊天程序
- 简单的双向通信聊天程序
- iOS 简单的聊天程序
- 简单的java聊天程序
- 最简单的程序
- 简单的网络聊天程序,MFC实现
- 简单的Socket聊天程序(客户端)
- FreeBSD图形界面安装
- DB2 rollforward 命令使用详解
- NPOI中如何复制Sheet
- Linux设备驱动开发笔记
- libxml2交叉编译问题及解决办法
- 最简单的聊天程序
- php 链接sqlserver 中文无法插入的解决
- Oauth1.0与2.0的认证流程笔记
- 一个日期进化函数
- 如何把jquery 的dialog和ztree结合
- UVA 10254 - The Priest Mathematician (dp | 汉诺塔 | 找规律 | 大数)
- 统计难题
- C语言库函数名: atoi 功 能: 把字符串转换成整型数。
- poj1730