Commit 65064349 by zhiwei

斗鱼弹幕级b站消息队列添加

parent c472b5c4
......@@ -65,8 +65,8 @@ public class BilibiliMessageHandler extends ChannelInboundHandlerAdapter{
Matcher matcher = pattern.matcher(source);
while(matcher.find()) {
JSONObject dataJson = JSONObject.parseObject(matcher.group());
BilibiliEntity bilibiliEntity = new BilibiliEntity(dataJson);
System.out.println(bilibiliEntity.toString());
BilibiliMessage bilibiliMessage = new BilibiliMessage(dataJson);
System.out.println(bilibiliMessage);
}
}
ReferenceCountUtil.release(msg);
......
package com.zhiwei.live.danmu.bilibili;
import java.util.List;
import java.util.Vector;
public class BilibiliMessageListener {
public static List<BilibiliMessage> messages = new Vector<>();
public static void addMessages(BilibiliMessage bilibiliMessage) {
messages.add(bilibiliMessage);
}
}
package com.zhiwei.live.danmu.douyu;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -9,6 +11,7 @@ import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.zhiwei.crawler.proxy.ProxyHolder;
import com.zhiwei.live.danmu.douyu.constants.DouYuConstants;
import com.zhiwei.live.danmu.douyu.constants.MsgType;
import com.zhiwei.live.danmu.douyu.entity.BaseMsg;
......@@ -45,7 +48,6 @@ public class DouYuClient {
private MessageHandler messageHandler;
private List<MessageListener> messageListenerList = new ArrayList<>();
public DouYuClient(String host, int port, String roomId) {
this.host = host;
this.port = port;
......@@ -54,6 +56,14 @@ public class DouYuClient {
this.init();
}
public DouYuClient(String roomId) {
this.host = "openbarrage.douyutv.com";
this.port = 8601;
this.roomId = roomId;
//初始化
this.init();
}
/**
* 初始化Client
*/
......@@ -68,7 +78,8 @@ public class DouYuClient {
private void connect() {
try {
logger.info("从服务器({}:{})获取弹幕服务器数据", host, port);
socket = new Socket(host, port);
socket = new Socket(ProxyHolder.NAT_PROXY.getProxy());
socket.connect(new InetSocketAddress(host, port));
messageHandler = new MessageHandler(socket);
} catch (IOException e) {
throw new RuntimeException(e);
......
package com.zhiwei.live.danmu.douyu;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.zhiwei.common.config.GroupType;
import com.zhiwei.crawler.proxy.ProxyFactory;
import com.zhiwei.live.danmu.douyu.entity.ChatMsg;
/**
* 功能描述:
*
* @auther: coffee
* @date: 2018-07-04 19:37:41
* 修改日志:
*/
public class Main {
private final static Logger logger = LoggerFactory.getLogger(Main.class);
private static final String registry = "zookeeper://192.168.0.36:2181";
private static final String group = "local";
static {
ProxyFactory.init(registry, group, GroupType.PROVIDER);
}
public static void main(String[] args) throws InterruptedException {
DouYuClient client = new DouYuClient("3084150");
client.registerMessageListener(new MessageListener<ChatMsg>() {
@Override
public void read(ChatMsg message) {
//logger.info(message.toChatStr());
// System.out.println(message.toChatStr());
}
});
client.registerMessageListener(new MessageListener<String>() {
@Override
public void read(String message) {
System.out.println(message);
// logger.info(message);
}
});
client.login();
client.sync();
Thread.sleep(30000);
client.exit();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment