与客户端的连接未通过 socket.accept() 建立

Connection with client not establishing with socket.accept()

我正在为 class 做一个项目,我使用 Databricks 从 Twitter 流式传输数据,当它到达 s.accept() 时,它似乎卡在那里,运行 无限期:

代码:

def sendTweets(c_socket):

 auth = OAuthHandler(API_key, API_secret_key)
 auth.set_access_token(access_token, access_token_secret)
 stream = Stream(auth, getTweets(c_socket))
 stream.filter(track=['covid','covid-19','covid19','coronavirus']) 

s = socket.socket()
host = "127.0.0.1"
port = 3333
s.bind((host, port))
s.listen()
c, addr = s.accept()
sendTweets(c)

对不起,如果这是一个非常愚蠢的问题

这个答案未经测试,可能行不通,但希望它能给你一个想法。

您可以尝试以下(不是我最好的代码):

import threading
def sendTweets(c_socket):

 auth = OAuthHandler(API_key, API_secret_key)
 auth.set_access_token(access_token, access_token_secret)
 stream = Stream(auth, getTweets(c_socket))
 stream.filter(track=['covid','covid-19','covid19','coronavirus']) 

def StartSocket():
    global c, addr
    c, addr = s.accept()

s = socket.socket()
host = "127.0.0.1"
port = 3333
s.bind((host, port))
s.listen()
thread = threading.Thread(target=StartSocket) #fork off the server code
thread.start()
sendTweets(c)