本帖最后由 anywayDo 于 2015-5-10 23:14 编辑
- import java.io.*;
- import java.net.*;
- class Send implements Runnable
- {
- private DatagramSocket ds;
- public Send(DatagramSocket ds)
- {
- this.ds=ds;
- }
- public void run()
- {
- BufferedReader bfr=null;
- try
- {
- bfr=new BufferedReader(new InputStreamReader(System.in));
- String line=null;
- while((line=bfr.readLine())!=null)
- {
- if(line.equals("over"))
- break;
- byte[] buf=line.getBytes();
- DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.0.255"),10004);
- ds.send(dp);
- }
- }
- catch (Exception e)
- {
- throw new RuntimeException("发送端失败");
- }
- try
- {
- if(bfr!=null)
- bfr.close();
- }
- catch (IOException e)
- {
- throw new RuntimeException("读取数据失败");
- }
-
- ds.close();
- }
-
- }
- 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());
- System.out.println(ip+"::"+data);
- }
- }
- catch (Exception e)
- {
- throw new RuntimeException("接收端失败");
- }
- }
-
- }
- class ChatDemo
- {
- public static void main(String[] args)throws Exception
- {
- DatagramSocket Sendds=new DatagramSocket();
- DatagramSocket Receds=new DatagramSocket(10004);
- Send s=new Send(Sendds);
- Rece r=new Rece(Receds);
- Thread t1=new Thread(s);
- Thread t2=new Thread(r);
- t1.start();
- t2.start();
- }
- }
复制代码 这样一段程序, 放在同一个局域网内的两台电脑上,运行后,就可以实现两台电脑间的信息传递。How amazing!
腾讯就是用一个小小的聊天工具了,开创了一个时代。。如果,脑洞再开大点,每个程序员都有改变世界的潜质。。
走在成为程序员的路上,心潮澎湃呀。。
|
|