基于UDP的socket聊天室
来源:互联网 发布:域名ip查询 编辑:程序博客网 时间:2024/06/11 02:05
今天学习了一下利用UDP传输协议进行的socket通讯。
先上代码:
class Send implements Runnable {private DatagramSocket ds;Send(DatagramSocket ds) {this.ds = ds;}@Overridepublic void run() {try {BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));String line = null;while ((line = bufr.readLine()) != null) {if ("886".equals(line)) {break;}byte[] buf = line.getBytes();DatagramPacket dp = new DatagramPacket(buf, buf.length,InetAddress.getByName("211.64.154.152"), 10002);ds.send(dp);}} catch (Exception e) {throw new RuntimeException("发送端失败");}}}class Rece implements Runnable {private DatagramSocket ds;Rece(DatagramSocket ds) {this.ds = ds;}@Overridepublic 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());System.out.println(ip + "::" + data);}} catch (Exception e) {throw new RuntimeException("接收失败");}}}class ChatDemo {public static void main(String[] args) {try {DatagramSocket sendSocket = new DatagramSocket();DatagramSocket receSocket = new DatagramSocket(10002);new Thread(new Send(sendSocket)).start();new Thread(new Rece(receSocket)).start();} catch (Exception e) {e.printStackTrace();}}}
在主函数中,利用DatagramSocket,写出两个线程,一个用于发送,一个用于接收。
0 0
- 基于UDP的socket聊天室
- 【SOCKET编程】基于C++的TCP/UDP的聊天室
- 多人聊天室(基于Linux的SOCKET UDP编程)
- 基于Socket的聊天室
- 基于UDP的局域网聊天室
- 基于socket的聊天室服务器端
- Android 基于Socket的聊天室
- 基于Socket通信的聊天室
- android 基于socket的聊天室
- Android 基于Socket的聊天室
- Android 基于Socket的聊天室
- Android 基于Socket的聊天室
- 基于Socket的聊天室源程序
- 基于Socket的Android聊天室
- 基于Socket的网络聊天室
- 基于Socket的多线程聊天室
- 基于UDP的socket
- 基于UDP套接字的局域网聊天室
- 黑马程序员——GUI
- hdu2074 模拟规律
- C语言变量和函数命名规范
- 【Hadoop】MapReduce笔记(三):MapReduce的Shuffle和Sort阶段详解
- 07_08表单Demo4
- 基于UDP的socket聊天室
- 使用GitHub + Hexo搭建个人博客(二)- nvm(Node Version Manager)
- 货币系统
- 数据库驱动(JDBC Driver)jar包下载
- POJ 2562 Primary Arithmetic(简单题)
- 黑马程序员----多线程学习笔记
- Django中使用admin的多选widget插件FilteredSelectMultiple
- 动漫_网球优等生の片尾曲_ベイビーステップ(Baby-Steps)(国语日语对照)
- ubuntu14.04下android开发环境的搭建5-1 :概述