如何解决OSError: [Errno 98] 地址已用于启动 TCP 服务器服务
我有上述错误。我正在尝试为 ngrok 隧道向世界公开的网络服务器编码,并从 Github 接收 webhook。无论我从端点收到什么,我都会转移到下一个 TCP 线程。无论我尝试启动,在重新启动 agin 或更改端口号之前等待 5 分钟,我都会遇到相同的错误。我的代码如下
from flask import Flask,request,Response
import socket
import threading
import json
from pyngrok import ngrok
#tcp server
TCP_IP = '127.0.0.1'
TCP_PORT = 13370
BUFFER_SIZE = 2048
def start_ngrok():
url = ngrok.connect(5000).public_url
print(' * Tunnel URL:',url)
def launchServer():
print("TCP thread started")
s = socket.socket(socket.AF_INET,socket.soCK_STREAM)
print("Socket successfully created")
print(s)
s.setsockopt(socket.soL_SOCKET,socket.so_REUSEADDR,1)
s.bind((TCP_IP,TCP_PORT))
s.listen(10)
while True:
print('waiting for a connection')
conn,addr = s.accept()
try:
print(sys.stderr + 'client connected:' + addr)
while True:
data = conn.recv(BUFFER_SIZE )
# print >>sys.stderr,'received "%s"' % data
if data:
conn.sendall(data)
else:
break
finally:
conn.close()
app = Flask(__name__)
# route deFinition
@app.route('/<webhookAddr>',methods=['POST'])
def response(webhookAddr):
if webhookAddr == 'getGithub':
# data = json.loads(request.data)
print(request.json)
return Response(status=200)
else:
return Response(status=200)
if __name__ == '__main__':
t1 = threading.Thread(target=launchServer)
t1.daemon = True
t1.start()
t2 = threading.Thread(target=start_ngrok)
t2.daemon = True
t2.start()
app.run(debug=True)
那么最终导致错误的原因是什么
问候
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。