⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simplemulticastserver.java

📁 这是一个以JAVA编写的程序,本人还没有试过,是一个简单的温度控制系统
💻 JAVA
字号:
package net.sf.dz.pnp.custom;import java.net.DatagramPacket;import java.net.InetAddress;import java.net.MulticastSocket;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import org.freehold.jukebox.logger.LogChannel;import net.sf.dz.pnp.MulticastServer;import net.sf.dz.util.MessageDigestFactory;/** * @author Copyright &copy; <a href="mailto:vt@freehold.crocodile.org">Vadim Tkachenko</a> 2004 * @version $Id: SimpleMulticastServer.java,v 1.2 2004/06/28 20:35:49 vtt Exp $ */public class SimpleMulticastServer extends MulticastServer {    public static final LogChannel CH_SMS = new LogChannel("SimpleMulticastServer");        private MulticastSocket socket;    private InetAddress group;    protected void startup() throws Throwable {            group = InetAddress.getByName("239.192.0.1");                // Let's check if the address has proper scope. Since there are many        // checks to be done, let's make them all, collect the results and        // report them all at once.                List error = new LinkedList();                if ( !group.isMulticastAddress() ) {                    error.add("Not a multicast address");        }                if ( !group.isMCSiteLocal() ) {                    error.add("Not a site local address");        }                if ( !group.isMCOrgLocal() ) {                    error.add("Not an organization local address");        }                if ( !error.isEmpty() ) {                    complain(LOG_WARNING, CH_SMS, "Problems reported for " + group + " (total of " + error.size() + "), code may not work as intended:");                        for ( Iterator i = error.iterator(); i.hasNext(); ) {                            complain(LOG_WARNING, CH_SMS, i.next());            }        }                socket = new MulticastSocket(5001);                // The multicast scope is "site"                socket.setTimeToLive(15);        socket.joinGroup(group);                complain(LOG_INFO, CH_SMS, "Announcing on " + group + ":5001");    }        protected void shutdown(Throwable cause) throws Throwable {            socket.leaveGroup(group);    }        protected void announce() throws Throwable {            String payload = getMessage();                if ( payload == null ) {                    // This shouldn't have happened, but anyway...                        return;        }                String md = new MessageDigestFactory().getSHA(payload);        String message = "SHA{" + md + "} " + payload;                byte data[] = message.getBytes();        DatagramPacket packet = new DatagramPacket(data, message.length(), group, 5001);                socket.send(packet);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -