- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
HeartbeatReceiver.java
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:1k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
C/C++
- import java.io.*;
- import java.net.*;
- import java.util.*;
- class HeartbeatReceiver {
- //
- InetAddress multicastAddress = null;
- //
- int multicastPort = 0;
- //
- MulticastSocket socket = null;
- //
- public HeartbeatReceiver (String Address, int Port) throws IOException {
- multicastPort = Port;
- multicastAddress = InetAddress.getByName(Address);
- socket = new MulticastSocket(multicastPort);
- socket.joinGroup(multicastAddress);
- }
- //
- public String toString() {
- return "HeartbeatReceiver: " + multicastAddress.getHostName() + "#" + multicastAddress.getHostAddress() + ":" + multicastPort ;
- }
- //
- public void listeningForHeartbeat(VocalServer server) throws IOException {
- System.out.println( "Listening for heartbeats ... " );
- for ( ; ; ) {
- DatagramPacket packet;
- byte[] buf = new byte[256];
- packet = new DatagramPacket(buf, buf.length);
- socket.receive(packet);
- String receivedHeartbeat = new String(packet.getData());
- server.handleHeartbeat( packet );
- }
- }
- //
- protected void finalize() {
- System.out.println( "Cardiac Arrest..." );
- if (socket == null) return;
- try {
- socket.leaveGroup(multicastAddress);
- socket.close();
- }
- catch (IOException e) {
- System.out.println( "Exception Thrown on Socket closen" );
- e.printStackTrace();
- }
- }
- }