好文档 - 专业文书写作范文服务资料分享网站

总结java - socket编程

天下 分享 时间: 加入收藏 我要投稿 点赞

//得到230.0.0.1的地址信息 socket.joinGroup(address);

//使用joinGroup()将广播套接字绑定到地址上 DatagramPacket packet; for(int i=0;i<5;i++) {

byte[] buf=new byte[256]; //创建缓冲区

packet=new DatagramPacket(buf,buf.length); //创建接收数据报

socket.receive(packet); //接收

String received=new String(packet.getData()); //由接收到的数据报得到字节数组, //并由此构造一个String对象

System.out.println(\ //打印得到的字符串 } //循环5次

socket.leaveGroup(address); //把广播套接字从地址上解除绑定 socket.close(); //关闭广播套接字 } }

2. 服务器方程序:MulticastServer.java public class MulticastServer{

public static void main(String args[]) throws java.io.IOException {

new MulticastServerThread().start(); //启动一个服务器线程 } }

3. 程序MulticastServerThread.java import java.io.*; import java.net.*; import java.util.*;

public class MulticastServerThread extends QuoteServerThread

//从QuoteServerThread继承得到新的服务器线程类MulticastServerThread {

Private long FIVE_SECOND=5000; //定义常量,5秒钟 public MulticastServerThread(String name) throws IOException {

super(\

//调用父类,也就是QuoteServerThread的构造函数 }

public void run() //重写父类的线程主体 {

while(moreQuotes) {

//根据标志变量判断是否继续循环 try{

byte[] buf=new byte[256]; //创建缓冲区 String dString=null;

if(in==null) dString=new Date().toString(); //如果初始化的时候打开文件失败了, //则使用日期作为要传送的字符串 else dString=getNextQuote();

//否则调用成员函数从文件中读出字符串 buf=dString.getByte();

//把String转换成字节数组,以便传送send it

InetAddress group=InetAddress.getByName(\ //得到230.0.0.1的地址信息 DatagramPacket packet=new DatagramPacket(buf,buf.length,group,4446);

//根据缓冲区,广播地址,和端口号创建DatagramPacket对象 socket.send(packet); //发送该Packet try{

sleep((long)(Math.random()*FIVE_SECONDS)); //随机等待一段时间,0~5秒之间 }catch(InterruptedException e) { } //异常处理 }catch(IOException e){ //异常处理 e.printStackTrace( ); //打印错误栈 moreQuotes=false; //置结束循环标志 } }

socket.close( ); //关闭广播套接口 } }

总结java - socket编程

//得到230.0.0.1的地址信息socket.joinGroup(address);//使用joinGroup()将广播套接字绑定到地址上DatagramPacketpacket;for(inti=0;i<5;i++){byte[]buf=newbyte[256];
推荐度:
点击下载文档文档为doc格式
7zrh23xbbd423gj8gje700kc5204u900kgp
领取福利

微信扫码领取福利

微信扫码分享