Android模拟聊天工具

简介:

没有写界面,但是主要的代码都已经写出。

[java]  view plain  copy
 print ?
  1. import java.io.*;  
  2. import java.net.*;  
  3. class ChatDemo  
  4. {  
  5.     public static void main(String [] args)throws Exception  
  6.     {  
  7.         DatagramSocket send1 = new DatagramSocket();  
  8.         DatagramSocket rece1 = new DatagramSocket(10001);  
  9.   
  10.         new Thread(new send(send1)).start();  
  11.         new Thread(new rece(rece1)).start();  
  12.     }  
  13. }  
  14. class send implements Runnable    
  15. {  
  16.     private DatagramSocket ds;  
  17.     public send(DatagramSocket ds)  
  18.     {  
  19.         this.ds = ds;  
  20.     }  
  21.     public void run()  
  22.     {  
  23.         try  
  24.         {  
  25.             BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));//读取键盘输入  
  26.             String line = null;  
  27.             while((line = buf.readLine())!=null)//如果不为空,就继续读  
  28.             {  
  29.                 byte [] b = line.getBytes();  
  30.                 DatagramPacket dp = new DatagramPacket(b,b.length,InetAddress.getByName("192.168.33.1"),10001);//构造数据包,发送到指定主机端口  
  31.                 ds.send(dp);  
  32.             }  
  33.             ds.close();  
  34.         }  
  35.         catch (Exception e)  
  36.         {  
  37.             throw new RuntimeException("发送端失败");  
  38.         }  
  39.     }  
  40. }  
  41.   
  42. class rece implements Runnable  
  43. {  
  44.     private DatagramSocket ds;  
  45.     public rece(DatagramSocket ds)  
  46.     {  
  47.         this.ds = ds;  
  48.     }  
  49.     public void run()  
  50.     {  
  51.         try  
  52.         {  
  53.             while(true)  
  54.             {  
  55.                 byte [] b = new byte[1024*64];  
  56.                 DatagramPacket dp = new DatagramPacket(b,b.length);//接收发送过来的数据  
  57.                 ds.receive(dp);  
  58.                 String ip = dp.getAddress().getHostAddress();//读取IP  
  59.                 String data = new String(dp.getData(),0,dp.getLength());//读取数据  
  60.                 System.out.println(ip+":"+data);  
  61.             }  
  62.         }  
  63.         catch (Exception e)  
  64.         {  
  65.             throw new RuntimeException("接收端失败");  
  66.         }  
  67.     }  
  68. }  



转载:http://blog.csdn.net/chaoyu168/article/details/49867635

目录
相关文章
|
Android开发
|
7天前
|
安全 Java Android开发
安卓开发中的新趋势:Kotlin与Jetpack的完美结合
【6月更文挑战第20天】在不断进化的移动应用开发领域,Android平台以其开放性和灵活性赢得了全球开发者的青睐。然而,随着技术的迭代,传统Java语言在Android开发中逐渐显露出局限性。Kotlin,一种现代的静态类型编程语言,以其简洁、安全和高效的特性成为了Android开发中的新宠。同时,Jetpack作为一套支持库、工具和指南,旨在帮助开发者更快地打造优秀的Android应用。本文将探讨Kotlin与Jetpack如何共同推动Android开发进入一个新的时代,以及这对开发者意味着什么。
|
3天前
|
Java 开发工具 Android开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异点,包括编程语言、开发工具、用户界面设计、性能优化以及市场覆盖等方面。通过对这些关键因素的比较分析,旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和目标受众做出明智的平台选择。
|
3天前
|
编解码 Android开发 iOS开发
深入探索Android与iOS开发的差异与挑战
【6月更文挑战第24天】在移动应用开发的广阔舞台上,Android和iOS两大操作系统扮演着主角。它们各自拥有独特的开发环境、工具集、用户基础及市场策略。本文将深度剖析这两个平台的开发差异,并探讨开发者面临的挑战,旨在为即将踏入或已在移动开发领域奋斗的开发者提供一份实用指南。
26 13
|
2天前
|
监控 Android开发 iOS开发
探索Android与iOS开发的差异:平台、工具和用户体验的比较
【6月更文挑战第25天】在移动应用开发的广阔天地中,Android和iOS两大平台各领风骚,它们在开发环境、工具选择及用户体验设计上展现出独特的风貌。本文将深入探讨这两个操作系统在技术实现、市场定位和用户交互方面的关键差异,旨在为开发者提供一个全景式的视图,帮助他们在面对项目决策时能够更加明智地选择适合自己项目需求的平台。
|
4天前
|
XML Java 开发工具
Android Studio开发Android TV
【6月更文挑战第19天】
|
2天前
|
缓存 测试技术 Shell
详细解读Android开发命令行完全攻略
详细解读Android开发命令行完全攻略
|
8天前
|
存储 Java 数据库连接
Android Java开发异步
【6月更文挑战第15天】
|
6天前
|
Java 开发工具 Android开发
安卓与iOS开发差异解析
【6月更文挑战第21天】本文旨在深入探讨安卓和iOS两大移动操作系统在应用开发过程中的主要差异。通过对比分析,揭示各自的设计哲学、编程语言选择、用户界面构建、性能优化策略以及发布流程的异同。文章将提供开发者视角下的实用信息,帮助他们更好地理解各自平台的特点和挑战,从而做出更明智的开发决策。
|
7天前
|
Java 开发工具 Android开发
探索安卓与iOS开发的核心差异
【6月更文挑战第20天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文将深入探讨这两大操作系统在开发过程中的主要区别,包括编程语言、开发工具、用户界面设计哲学、系统架构以及市场分布等方面。通过对这些关键差异的分析,旨在为开发者提供一份实用的指南,帮助他们在面对项目决策时,能够更加明智地选择合适的平台,并针对特定平台优化他们的应用。