JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--技术新闻--缓存区  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
UDP通讯源码
作者:     文章来源:
访问次数:1次     加入时间:2005年01月01日
//UDPServer.java

import java.net.*;
import java.io.*;
import java.util.*;

public class UDPServer {
   static final int INPORT=1711;
   private byte[] buf=new byte[1000];
   private DatagramPacket dp=new DatagramPacket(buf,buf.length);
   private DatagramSocket socket;
   public UDPServer(){
     try{
       socket=new DatagramSocket(INPORT);
       System.out.println("Server started!");
       while(true){
         socket.receive(dp);
         String rcvd=Dgram.toString(dp)+",from ddress:"+dp.getAddress()+
                     ",port:"+dp.getPort();
         System.out.println(rcvd);
         String echoString="Echoed:"+rcvd;
         DatagramPacket echo=Dgram.toDatagram(echoString,dp.getAddress(),dp.getPort());
         socket.send(echo);
      }
     }catch(SocketException e){
         System.err.println("Can't open socket");
         System.exit(1);
       }catch(IOException e){
         System.err.println("Communication error!");
         e.printStackTrace();

       }

     }
   public static void main(String[] args){
     new UDPServer();
   }
}

//UDPClient.java

import java.lang.Thread;
import java.net.*;
import java.io.*;


public class UDPClient extends Thread{

  private DatagramSocket s;
  private InetAddress hostAddress;
  private byte[] buf=new byte[1000];
  private DatagramPacket dp=new DatagramPacket(buf,buf.length);
  private int id;

  public UDPClient(int identifier){
    id=identifier;
    try{
      s=new DatagramSocket();
      hostAddress=InetAddress.getByName("localhost");
    }catch(UnknownHostException e){
      System.err.println("Cannot find host");
      System.exit(1);
    }catch(SocketException e){
      System.err.println("Can't open Socket");
      e.printStackTrace();
      System.exit(1);
    }
  }

  public void run(){
    try{
      for(int i=0;i<1;i++){//消息数

        String outMessage="Client #"+
                id+",message#"+i;

        s.send(Dgram.toDatagram(outMessage,hostAddress,UDPServer.INPORT));
        s.receive(dp);
        String rcvd="Client #"+id+",rcvd from "+
                    dp.getAddress()+","+
                    dp.getPort()+":"+
                    Dgram.toString(dp);
        System.out.println(rcvd);

      }
    }catch(IOException e){
      e.printStackTrace();
      System.exit(1);

    }
  }

  public static void main(String[] args){
    for (int i=0;i<1;i++)//客户数量
      new UDPClient(i).start();
  }
}

//Dgram.java 数据报格式
import java.net.*;

public class Dgram {
  public static DatagramPacket toDatagram(
    String s,InetAddress destIA,int destPort){
      byte[] buf=new byte[s.length()+1];
      s.getBytes(0,s.length(),buf,0);
      return new DatagramPacket(buf,buf.length,destIA,destPort);
  }

  public static String toString(DatagramPacket p){
    return new String(p.getData(),0,p.getLength());
  }
}
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号