通过Socket和UDP实现多线程的聊天程序
来源:互联网 发布:nginx ip映射域名 编辑:程序博客网 时间:2024/05/18 00:16
通过Socket和UDP实现多线程的聊天程序
今天写了一个多线程的聊天程序,是通过Socket和UDP实现的
package learning;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/* * 聊天程序,多线程,多人同时聊天。。。by 杜少 */public class Talk { public static void main(String[] args) throws Exception{ DatagramSocket sendsocket=new DatagramSocket(); DatagramSocket getsocket=new DatagramSocket(10002); new Thread(new send(sendsocket)).start(); new Thread(new get(getsocket)).start(); }}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){ if("666".equals(line)) break; byte[] buf=line.getBytes(); DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("10.15.2.253"),10002); ds.send(dp); } }catch(Exception e){ throw new RuntimeException("发送端失败"); } }}class get implements Runnable{ private DatagramSocket ds; public get(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()); System.out.println(ip+":"+data); } }catch(Exception e){ throw new RuntimeException("接收端失败"); } }}
1 0
- 通过Socket和UDP实现多线程的聊天程序
- 基于Socket和多线程编程的聊天程序实现
- socket编程实现的多人局域网聊天(udp)多线程
- 使用多线程和Udp实现简易聊天程序
- 利用TCP和UDP协议,实现基于Socket的小聊天程序(初级版)
- 基于Socket和多线程的聊天程序实现
- UDP-聊天-多线程实现
- 基于Java socket和多线程的简易聊天小程序
- Socket UDP 简单聊天的实现
- 网络编程与多线程的应用--基于socket udp编写一个简单聊天程序
- 基于socket和多线程的聊天程序设计与实现
- 结合多线程、Socket的聊天小程序
- socket 实现多线程聊天
- java多线程socket实现简单的聊天
- 基于Udp的Socket网络编程聊天程序
- VC++ 基于UDP的控制台聊天程序socket通信
- 基于Udp的Socket网络编程聊天程序
- java用socket和serversocket实现一对一聊天(java实现简单的TCP聊天程序)
- 递归案例2:接收一个文件夹路径,删除该文件夹
- ios10 NZT10 准备中 预习下iOS10.0-10.2越狱图文教程
- Unity结合C++开发服务器实现多人游戏(演示)
- WPF 自定义鼠标指针图片
- Oracle 之利用BBED修改数据块SCN----没有备份数据文件的数据恢复
- 通过Socket和UDP实现多线程的聊天程序
- Android冷启动实现APP秒开
- 正则表达式替换tab键、换行键
- JVM内存配置详解
- AVL
- android 5.1源码 去除搜索栏
- Ural 1416 Confidential(最小生成树+次小生成树)
- MD5加密
- replica character liquid crystal display control