最近看到一份代码,是用java写的UDP多点传送(组播)实现多媒体教学,分为教师类和学生类,如下:
import java.io.*;
import java.net.*;
import java.util.*;
import java.awt.*;
import java.io.ByteArrayInputStream;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
public class MultiDatagramsTeacher {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
InetAddress address = InetAddress.getByName( "230.1.1.1 ");
byte[] buf = new byte[4096];
while(true) {
buf = getScreen().getBytes();
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(buf,buf.length,address,8899);
socket.send(packet);
}
}
学生类如下:
import java.io.*;
import java.net.*;
import java.util.*;
public class MultiDatagramsStudent {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
MulticastSocket socket = new MulticastSocket(8899);
InetAddress address = InetAddress.getByName( "230.1.1.1 ");
socket.joinGroup(address);
byte[] buf = new byte[4096];
DatagramPacket packet = new DatagramPacket(buf,buf.length);
while(true) {
socket.receive(packet);
player(packet.getData());
packet = new DatagramPacket(buf,buf.length);
}
}
}
当我在Eclipse中运行的时候出错,说在教师类中没有为类型 MultiDatagramsTeacher 定义方法 getScreen(),
在学生类中没有为类型 MultiDatagramsStudent 定义方法 player(byte[]),
难道真的在javaAPI中都没有这个函数,既然如此,这个作者为什么还要这样写,难不成要我自己写这个函数,我是在不会。请问在API中到底有没有这两个函数,如果没有,那应该怎么做才能运行起来,谢谢
------解决方案--------------------
估计要你自己写了,我对这代码也比较感兴趣,前段时间打算做一个在线视频会议的,未果
可否把代码共享一下?
magus163@sohu.com