A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 魑_魅 于 2012-2-5 09:22 编辑
  1. import java.net.*;
  2. import java.io.*;

  3. class send
  4. {
  5.         public static void main(String[] args)throws Exception
  6.         {
  7.         DatagramSocket socket = new DatagramSocket();

  8.         BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

  9.         String line = null;

  10.         while ((line = bufr.readLine()) != null)
  11.         {
  12.                 if(line.equals("over"))
  13.                         break;

  14.                  DatagramPacket packet = new DatagramPacket(line.getBytes(),line.length(),InetAddress.getByName("192.168.1.105"),7878);

  15.                 socket.send(packet);
  16.         }

  17.         bufr.close();
  18.         socket.close();

  19.         }
  20. }

  21. class rec
  22. {
  23.         public static void main(String[] args)throws Exception
  24.         {
  25.                 DatagramSocket socket  = new DatagramSocket(7878);

  26.                 while (true)
  27.                 {
  28.                         byte[] buf = new byte[1024];

  29.                         DatagramPacket packet = new DatagramPacket
  30.                                 (buf,buf.length);

  31.                         socket.receive(packet);

  32.                         String ip = packet.getAddress().getHostAddress();
  33.                         String data = new String(packet.getData(),0,packet.getLength());

  34.                         int port = packet.getPort();

  35.                         System.out.println("from " + ip + " :" + port +"\t" + data );
  36.                 }
  37.         }
  38. }


  39. public class  Demo
  40. {
  41.         public static void main(String[] args)throws Exception
  42.         {

  43.         }
  44. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

2 个回复

倒序浏览
19行
line.length()应该是line.getBytes().length
因为string的.length()方法得到的是字符串长度。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
马欢 发表于 2012-2-5 09:11
19行
line.length()应该是line.getBytes().length
因为string的.length()方法得到的是字符串长度。 ...

谢谢,现在明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马