我是socket io的新手,我很困惑,因为我从服务器收到重复的消息。我正在服务器端使用flask-socketio。
这是服务器端代码:
class StdOutListener1(StreamListener):
def on_data(self, data):
data = json.loads(data)
socketio.emit('streamTweets1',{"data": data},namespace='/tweet')
@socketio.on("connect", namespace="/tweet")
def connectServer():
print("Client connected")
socketio.emit("connected", namespace="/tweet")
@socketio.on('startTweets1', namespace='/tweet')
def tweetStreaming1():
stream_1 = Stream(auth_1, l1)
stream_1.filter(track=search_list_1)
stream_1.filter(track=search_list_1)
将调用on_data
类中的StdOutListener1
函数。
我的客户端代码是:
socket = io.connect("http://" + document.domain + ":" + location.port + "/tweet");
// listen to the event 'connected'
socket.on("connected", function(data) {
console.log("listening connected...");
socket.emit("startTweets1");
});
socket.on("streamTweets1", function(data){
console.log(data)
});
每次刷新客户端页面后,我都会得到重复的结果。
另外,我不知道如何停止或断开连接。我试图使用control + c来停止服务器,但它似乎会继续运行。如何正确停止服务器并断开连接?