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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ~与狼共舞~ 中级黑马   /  2013-5-26 20:44  /  920 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ~与狼共舞~ 于 2013-5-27 21:59 编辑
  1. import java.io.IOException;
  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. import java.net.InetAddress;
  5. import java.util.Scanner;

  6. public class TensmitDemo {

  7.         public static void main(String[] args) {
  8.                 new Sender().start();
  9.                 new Recever().start();

  10.         }

  11. }
  12. class Sender extends Thread{
  13.         public void run(){
  14.                 try(
  15.                                 DatagramSocket socket = new DatagramSocket(10000,InetAddress.getByName("127.0.0.1"));
  16.                                 Scanner scanner = new Scanner(System.in);
  17.                                 
  18.                         ){        
  19.                                 
  20.                                         byte[] arr = scanner.nextLine().getBytes();
  21.                                         DatagramPacket pocket = new DatagramPacket(arr,arr.length,InetAddress.getByName("127.0.0.1"),20000);
  22.                                         socket.send(pocket);
  23.                                 
  24.                         } catch (Exception e) {
  25.                         
  26.                                 e.printStackTrace();
  27.                         }

  28.                 }

  29.         }


  30. class Recever extends Thread{
  31.         public void run(){
  32.                 try(DatagramSocket socket = new DatagramSocket(20000,InetAddress.getByName("127.0.0.1")))
  33.                         {
  34.                                 DatagramPacket packet = new DatagramPacket(new byte[2048],1024);
  35.                         
  36.                         while(true){
  37.                                 socket.receive(packet);
  38.                                 byte[] arr = packet.getData();
  39.                                 int len = packet.getLength();
  40.                                 String ip = packet.getAddress().getHostAddress();
  41.                                 int port = packet.getPort();
  42.                                 String s = new String(arr,0,len);
  43.                                 System.out.println(ip + ":" + port + ":" + s);
  44.                                 }
  45.                         } catch (IOException e) {
  46.         
  47.                                 e.printStackTrace();
  48.                         }

  49.         }
  50. }
复制代码
为什么我的这个程序不能连续的进行消息的发送?每次必须得重新运行一次才能发送一次消息。

评分

参与人数 1技术分 +1 收起 理由
HM汪磊 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马