package happy; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.ZooKeeper; public class HappyRoom { //zookeeper集群地址 private static String connectServerList = "192.168.220.130:2181,192.168.220.131:2181,192.168.220.132:2181"; //连接超时时间 private static int sessionTimeout = 20000; //zookeeper客户端 public static ZooKeeper zk = null; //天上人间主播平台 private static final String anchor = "/anchor"; /** * 美女主播签到 */ public void singIn(String BeautyAnchorName) throws Exception{ ZooKeeper happyOnline = new ZooKeeper(connectServerList, sessionTimeout, null); //签到 happyOnline.create(anchor +"/BeautyAnchor", BeautyAnchorName.getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL); System.out.println("美女主播------>"+BeautyAnchorName +"<-----姗姗来迟,妩媚动人、艳惊四座...开启直播不归路......"); } /** * 直播 */ public void liveBroadcast(String BeautyAnchorName) throws InterruptedException{ System.out.println("美女主播------->"+BeautyAnchorName+"<--------"+"开始直播LOL兔女狼上单5杀...."); Thread.sleep(Long.MAX_VALUE); } /** * 开启直播 */ public static void main(String[] args) throws Exception{ HappyRoom happyRoom = new HappyRoom(); happyRoom.singIn(args[0]); happyRoom.liveBroadcast(args[0]); } }
package happy; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Random; /** * 天上人间直播VIP客户 */ public class Player { /** * * * 采帅哥的小蘑菇 * ゛男人不狠、江山不稳↘ * 百厮不得骑姐 * * 爱上 我、你会上瘾 * 朕要翻你的牌 * 你姐我Gay你咋的了 ? * * 尼爸帅得像犀利哥 * * 帅先森 * * 别动姐滴爷△ * * 社会哥 @ * * 韩国技美小璐姐 * * 哼,姐就這樣,誰都管不著 * * 男人千千万姐要不爽天天换 */ volatile ListBeautyAnchor = null; ArrayList VIP = new ArrayList (); //zookeeper集群地址 private static String connectServerList = "192.168.220.130:2181,192.168.220.131:2181,192.168.220.132:2181"; //连接超时时间 private static int sessionTimeout = 20000; //zookeeper客户端 public static ZooKeeper zk = null; //天上人间主播平台 private static final String anchor = "/anchor"; public Player(){ VIP.add("゛男人不狠、江山不稳↘"); VIP.add("百厮不得骑姐"); VIP.add("爱上我、你会上瘾"); VIP.add("朕要翻你的牌"); VIP.add("你姐我Gay你咋的了?"); VIP.add("尼爸帅得像犀利哥"); VIP.add("帅先森"); VIP.add("别动姐滴爷△"); VIP.add("社会哥@"); VIP.add("韩国技美小璐姐"); VIP.add("哼,姐就這樣,誰都管不著"); VIP.add("男人千千万姐要不爽天天换"); } /** * 查看在线美女主播 */ public void viewBeautyAnchor() throws Exception{ zk = new ZooKeeper(connectServerList, sessionTimeout, new Watcher() { public void process(WatchedEvent watchedEvent) { try { refresh(); } catch (Exception e) { e.printStackTrace(); } } }); refresh(); } /** * VIP客户打赏主播 */ public void VIPReward(){ Random random = new Random(); int n = random.nextInt(VIP.size()); String VIPName = VIP.get(n); int m = random.nextInt(BeautyAnchor.size()); String BeautyAnchorName = BeautyAnchor.get(m); System.out.println("VIP客户--> "+VIPName+" ======> 打赏主播--> "+BeautyAnchorName+" ---> 一架飞机,一辆跑车,一部游艇"); } /** * 刷新在线美女主播列表 */ public void refresh() throws Exception{ ArrayList onlineBeautyAnchor = new ArrayList (); List AnchorList = zk.getChildren(anchor, true); for (String Anchor: AnchorList ) { byte[] BeautyAnchor = zk.getData(anchor + "/" + Anchor, false, null); String BeautyAnchorName = new String(BeautyAnchor,"GBK"); onlineBeautyAnchor.add(BeautyAnchorName); System.out.println("<---------------当前在线美女主播有----->"+BeautyAnchorName); } BeautyAnchor = onlineBeautyAnchor; System.out.println("=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i=="); } public static void main(String[] args) throws Exception { Player player = new Player(); player.viewBeautyAnchor(); player.VIPReward(); Thread.sleep(Long.MAX_VALUE); } }
启动多台服务器:
D:\>java -jar BeautyAnchor.jar 甜馨儿
2019-07-30 00:05:48,760 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.8--1, built on 02/06/2016 03:18 GMT
2019-07-30 00:05:48,760 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=DESKTOP-RALNSM7
2019-07-30 00:05:48,760 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.8.0_111
2019-07-30 00:05:48,761 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Oracle Corporation
2019-07-30 00:05:48,761 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=D:\JAVA\jre
2019-07-30 00:05:48,761 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path=BeautyAnchor.jar
2019-07-30 00:05:48,761 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=D:\JAVA\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\JAVA\bin;D:\JAVA\jre\binC:\ProgramData\Oracle\Java\javapath;D:\Hadoop_2.7.2dev\hadoop-2.7.2\bin;D:\Hadoop_2.7.2dev\hadoop-2.7.2\sbin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\devSoftware\python27;D:\devSoftware\python36\;D:\devSoftware\bin;D:\MAVEN\apache-maven-3.5.0\bin;D:\devSoftware\Scripts\;D:\devSoftware\;D:\devSoftware\python36\Scripts\;D:\osSoftware\;.
2019-07-30 00:05:48,761 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\lsh\AppData\Local\Temp\
2019-07-30 00:05:48,761 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=
2019-07-30 00:05:48,762 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 10
2019-07-30 00:05:48,762 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=amd64
2019-07-30 00:05:48,762 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=10.0
2019-07-30 00:05:48,762 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=lsh
2019-07-30 00:05:48,762 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\lsh
2019-07-30 00:05:48,762 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=D:\
2019-07-30 00:05:48,763 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=192.168.220.130:2181,192.168.220.131:2181,192.168.220.132:2181 sessionTimeout=20000 watcher=null
2019-07-30 00:05:48,865 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server 192.168.220.130/192.168.220.130:2181. Will not attempt to authenticate using SASL (unknown error)
2019-07-30 00:05:48,868 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to 192.168.220.130/192.168.220.130:2181, initiating session
2019-07-30 00:05:48,880 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server 192.168.220.130/192.168.220.130:2181, sessionid = 0x16b29c2ee08000b, negotiated timeout = 20000
2019-07-30 00:05:48,882 ERROR [org.apache.zookeeper.ClientCnxn] - Error while calling watcher
java.lang.NullPointerException
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:530)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:505)
美女主播------>甜馨儿<-----姗姗来迟,妩媚动人、艳惊四座...开启直播不归路......
美女主播------->甜馨儿<--------开始直播LOL兔女狼上单5杀....
D:\>java -jar BeautyAnchor.jar 向未来奋斗的励志人
2019-07-30 00:08:52,252 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.8--1, built on 02/06/2016 03:18 GMT
2019-07-30 00:08:52,253 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=DESKTOP-RALNSM7
2019-07-30 00:08:52,253 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.8.0_111
2019-07-30 00:08:52,253 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Oracle Corporation
2019-07-30 00:08:52,253 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=D:\JAVA\jre
2019-07-30 00:08:52,253 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path=BeautyAnchor.jar
2019-07-30 00:08:52,253 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=D:\JAVA\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\JAVA\bin;D:\JAVA\jre\binC:\ProgramData\Oracle\Java\javapath;D:\Hadoop_2.7.2dev\hadoop-2.7.2\bin;D:\Hadoop_2.7.2dev\hadoop-2.7.2\sbin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\devSoftware\python27;D:\devSoftware\python36\;D:\devSoftware\bin;D:\MAVEN\apache-maven-3.5.0\bin;D:\devSoftware\Scripts\;D:\devSoftware\;D:\devSoftware\python36\Scripts\;D:\osSoftware\;.
2019-07-30 00:08:52,254 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\lsh\AppData\Local\Temp\
2019-07-30 00:08:52,254 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=
2019-07-30 00:08:52,254 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 10
2019-07-30 00:08:52,254 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=amd64
2019-07-30 00:08:52,254 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=10.0
2019-07-30 00:08:52,254 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=lsh
2019-07-30 00:08:52,255 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\lsh
2019-07-30 00:08:52,255 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=D:\
2019-07-30 00:08:52,255 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=192.168.220.130:2181,192.168.220.131:2181,192.168.220.132:2181 sessionTimeout=20000 watcher=null
2019-07-30 00:08:52,354 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server 192.168.220.130/192.168.220.130:2181. Will not attempt to authenticate using SASL (unknown error)
2019-07-30 00:08:52,356 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to 192.168.220.130/192.168.220.130:2181, initiating session
2019-07-30 00:08:52,364 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server 192.168.220.130/192.168.220.130:2181, sessionid = 0x16b29c2ee08000c, negotiated timeout = 20000
美女主播------>向未来奋斗的励志人<-----姗姗来迟,妩媚动人、艳惊四座...开启直播不归路......
美女主播------->向未来奋斗的励志人<--------开始直播LOL兔女狼上单5杀....
2019-07-30 00:08:52,366 ERROR [org.apache.zookeeper.ClientCnxn] - Error while calling watcher
java.lang.NullPointerException
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:530)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:505)
D:\>java -jar BeautyAnchor.jar 恋爱请排队
2019-07-30 00:10:21,794 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.8--1, built on 02/06/2016 03:18 GMT
2019-07-30 00:10:21,794 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=DESKTOP-RALNSM7
2019-07-30 00:10:21,794 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.8.0_111
2019-07-30 00:10:21,794 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Oracle Corporation
2019-07-30 00:10:21,794 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=D:\JAVA\jre
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path=BeautyAnchor.jar
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=D:\JAVA\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\JAVA\bin;D:\JAVA\jre\binC:\ProgramData\Oracle\Java\javapath;D:\Hadoop_2.7.2dev\hadoop-2.7.2\bin;D:\Hadoop_2.7.2dev\hadoop-2.7.2\sbin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\devSoftware\python27;D:\devSoftware\python36\;D:\devSoftware\bin;D:\MAVEN\apache-maven-3.5.0\bin;D:\devSoftware\Scripts\;D:\devSoftware\;D:\devSoftware\python36\Scripts\;D:\osSoftware\;.
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\lsh\AppData\Local\Temp\
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 10
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=amd64
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=10.0
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=lsh
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\lsh
2019-07-30 00:10:21,795 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=D:\
2019-07-30 00:10:21,796 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=192.168.220.130:2181,192.168.220.131:2181,192.168.220.132:2181 sessionTimeout=20000 watcher=null
2019-07-30 00:10:21,894 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server 192.168.220.132/192.168.220.132:2181. Will not attempt to authenticate using SASL (unknown error)
2019-07-30 00:10:21,895 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to 192.168.220.132/192.168.220.132:2181, initiating session
2019-07-30 00:10:21,903 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server 192.168.220.132/192.168.220.132:2181, sessionid = 0x36b28a6cb09000b, negotiated timeout = 20000
2019-07-30 00:10:21,905 ERROR [org.apache.zookeeper.ClientCnxn] - Error while calling watcher
java.lang.NullPointerException
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:530)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:505)
美女主播------>恋爱请排队<-----姗姗来迟,妩媚动人、艳惊四座...开启直播不归路......
美女主播------->恋爱请排队<--------开始直播LOL兔女狼上单5杀....
客户端:
<---------------当前在线美女主播有----->閲囧竻鍝ョ殑灏忚槕鑿�
<---------------当前在线美女主播有----->閲囧竻鍝ョ殑灏忚槕鑿�
<---------------当前在线美女主播有----->甜馨儿
=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i==
<---------------当前在线美女主播有----->甜馨儿
=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i==
VIP客户--> 社会哥@ ======> 打赏主播--> 甜馨儿 ---> 一架飞机,一辆跑车,一部游艇
<---------------当前在线美女主播有----->向未来奋斗的励志人
<---------------当前在线美女主播有----->閲囧竻鍝ョ殑灏忚槕鑿�
<---------------当前在线美女主播有----->甜馨儿
=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i==
<---------------当前在线美女主播有----->向未来奋斗的励志人
<---------------当前在线美女主播有----->无辜的黄瓜
<---------------当前在线美女主播有----->閲囧竻鍝ョ殑灏忚槕鑿�
<---------------当前在线美女主播有----->甜馨儿
=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i==
<---------------当前在线美女主播有----->向未来奋斗的励志人
<---------------当前在线美女主播有----->无辜的黄瓜
<---------------当前在线美女主播有----->恋爱请排队
<---------------当前在线美女主播有----->閲囧竻鍝ョ殑灏忚槕鑿�
<---------------当前在线美女主播有----->甜馨儿
=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i==
############无辜的黄瓜 退出后客户端马上获取到最新的主播列表 #######################
<---------------当前在线美女主播有----->向未来奋斗的励志人
<---------------当前在线美女主播有----->恋爱请排队
<---------------当前在线美女主播有----->閲囧竻鍝ョ殑灏忚槕鑿�
<---------------当前在线美女主播有----->甜馨儿
=嗨翻世界!i===嗨翻世界!i======嗨翻世界!i==========嗨翻世界!i====嗨翻世界!i==