title: flask socketio 400 (BAD REQUEST)
body: <p>I'm trying to use flask socketio to retrieve some live tweets and currently I'm playing around with the socketio to see how it works. But in my test, I get 400 (BAD REQUEST) from time to time. I'm wondering what is the issue.</p>
  
  <p>here's the error sample:</p>
  
  <p><code>socket.io.js:3511 POST http://127.0.0.1:5000/socket.io/?EIO=3&amp;transport=polling&amp;t=LOMYW0D&amp;sid=c81baa220764437184a14366357c6d3d 400 (BAD REQUEST)Request.create @ socket.io.js:3511Request @ socket.io.js:3424XHR.request @ socket.io.js:3352XHR.doWrite @ socket.io.js:3365(anonymous function) @ socket.io.js:3884(anonymous function) @ socket.io.js:4747proxy @ socket.io.js:1197(anonymous function) @ socket.io.js:4762(anonymous function) @ socket.io.js:4742exports.encodePacket @ socket.io.js:4541encodeOne @ socket.io.js:4741eachWithIndex @ socket.io.js:4760map @ socket.io.js:4767exports.encodePayload @ socket.io.js:4746Polling.write @ socket.io.js:3883Transport.send @ socket.io.js:2912Socket.flush @ socket.io.js:2623Socket.sendPacket @ socket.io.js:2683Socket.ping @ socket.io.js:2587(anonymous function) @ socket.io.js:2574
  socket.io.js:3511 GET http://127.0.0.1:5000/socket.io/?EIO=3&amp;transport=polling&amp;t=LOMYPYb&amp;sid=c81baa220764437184a14366357c6d3d 400 (BAD REQUEST)Request.create @ socket.io.js:3511Request @ socket.io.js:3424XHR.request @ socket.io.js:3352XHR.doPoll @ socket.io.js:3382Polling.poll @ socket.io.js:3795Polling.onData @ socket.io.js:3834(anonymous function) @ socket.io.js:3385Emitter.emit @ socket.io.js:4389Request.onData @ socket.io.js:3546Request.onLoad @ socket.io.js:3627xhr.onreadystatechange @ socket.io.js:3499
  socket.io.js:3511 POST http://127.0.0.1:5000/socket.io/?EIO=3&amp;transport=polling&amp;t=LOMYeOF&amp;sid=c81baa220764437184a14366357c6d3d 400 (BAD REQUEST)</code></p>
  
  <p>my server side code (python flask):</p>
  
  <pre><code>from flask import Flask
  from flask_socketio import SocketIO
  app = Flask(__name__)
  app.config["SECRET_KEY"] = "secret!"
  socketio = SocketIO(app)
  
  def root():
      return app.send_static_file("index.html")
  
  @socketio.on("connect", namespace="/npTweet")
  def connectServer():
      print("Client connected")
      socketio.emit("connected", namespace="/npTweet")
  
  
  @socketio.on("startTweets", namespace="/npTweet")
  def tweetStreaming():
      print("Start streaming tweets...")
      socketio.emit("streamTweets", {"stream_result": "test"}, namespace="/npTweet")
  
  
  if __name__ == "__main__":
      socketio.run(app, debug=True)
  </code></pre>
  
  <p>my client side code:</p>
  
  <pre><code>socket = io.connect("http://" + document.domain + ":" + location.port + "/npTweet");
  console.log("http://" + document.domain + ":" + location.port + "/npTweet");
  // listen to the event 'connected'
  socket.on("connected", function(data){
    console.log("listening connected...");
    socket.emit("startTweets")
  });
  
  socket.on("streamTweets", function(data){
    console.log("listen streamTweets...");
    console.log(data.stream_result)
  });
  </code></pre>
  
  <p>These are the initial output when I start the index.html page:</p>
  
  <pre><code>http://127.0.0.1:5000/npTweet
  listening connected...
  listen streamTweets...
  test
  </code></pre>
  
  <p>but after like 30 second or so, it began to have the previous 400 bad request error, followed by the following result:</p>
  
  <pre><code>listening connected...
  listen streamTweets...
  test
  </code></pre>
  
  <p>Then after like 30 seconds, it does the bad request and the result all over again. where am I doing wrong? any help will be appreciated.</p>
  
  <p>for the client side, I'm using socketio js 1.4.5</p>
  
  <p>for python: 
  Flask-SocketIO==2.5
  python-engineio==0.9.2</p>