fix: 修改了中心服务器接收心跳包函数;修改客户端变量类型id
This commit is contained in:
parent
0ce7f79d5f
commit
ba8bab8a17
@ -213,7 +213,7 @@ class IP_Message(BaseModel):
|
|||||||
dest_ip: str
|
dest_ip: str
|
||||||
message_name: str
|
message_name: str
|
||||||
source_ip: str
|
source_ip: str
|
||||||
pk: int
|
pk: Tuple[int, int]
|
||||||
|
|
||||||
|
|
||||||
class Request_Message(BaseModel):
|
class Request_Message(BaseModel):
|
||||||
@ -305,7 +305,7 @@ async def recieve_request(i_m: IP_Message):
|
|||||||
message = b"hello world" + random.randbytes(8)
|
message = b"hello world" + random.randbytes(8)
|
||||||
|
|
||||||
# send message to nodes
|
# send message to nodes
|
||||||
await send_messages(node_ips, message, dest_ip, pk_B, threshold) # type: ignore
|
await send_messages(tuple(node_ips), message, dest_ip, pk_B, threshold)
|
||||||
response = {"threshold": threshold, "public_key": own_public_key}
|
response = {"threshold": threshold, "public_key": own_public_key}
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ def init():
|
|||||||
asyncio.create_task(receive_heartbeat_internal())
|
asyncio.create_task(receive_heartbeat_internal())
|
||||||
|
|
||||||
def clean_env():
|
def clean_env():
|
||||||
|
clear_database()
|
||||||
# 关闭游标和连接
|
# 关闭游标和连接
|
||||||
cursor.close()
|
cursor.close()
|
||||||
conn.close()
|
conn.close()
|
||||||
@ -86,14 +87,14 @@ async def delete_node(ip: str) -> None:
|
|||||||
print(f"Node with IP {ip} not found.")
|
print(f"Node with IP {ip} not found.")
|
||||||
|
|
||||||
# 接收节点心跳包
|
# 接收节点心跳包
|
||||||
@app.post("/server/heartbeat")
|
@app.get("/server/heartbeat")
|
||||||
async def receive_heartbeat(ip: str):
|
async def receive_heartbeat(ip: str):
|
||||||
cursor.execute("UPDATE nodes SET last_heartbeat = ? WHERE ip = ?", (time.time(), ip))
|
cursor.execute("UPDATE nodes SET last_heartbeat = ? WHERE ip = ?", (time.time(), ip))
|
||||||
return {"status": "received"}
|
return {"status": "received"}
|
||||||
|
|
||||||
async def receive_heartbeat_internal():
|
async def receive_heartbeat_internal():
|
||||||
while 1:
|
while 1:
|
||||||
timeout = 70
|
timeout = 7
|
||||||
# 删除超时的节点
|
# 删除超时的节点
|
||||||
# cursor.execute("DELETE FROM nodes WHERE last_heartbeat < ?", (time.time() - timeout,))
|
# cursor.execute("DELETE FROM nodes WHERE last_heartbeat < ?", (time.time() - timeout,))
|
||||||
# conn.commit()
|
# conn.commit()
|
||||||
@ -120,12 +121,12 @@ async def send_nodes_list(count: int) -> list:
|
|||||||
|
|
||||||
return nodes_list
|
return nodes_list
|
||||||
|
|
||||||
@app.get("/server/clear_database")
|
# @app.get("/server/clear_database")
|
||||||
async def clear_database() -> None:
|
def clear_database() -> None:
|
||||||
cursor.execute("DELETE FROM nodes")
|
cursor.execute("DELETE FROM nodes")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import uvicorn # pylint: disable=e0401
|
import uvicorn # pylint: disable=e0401
|
||||||
|
|
||||||
uvicorn.run("server:app", host="0.0.0.0", port=8000, reload=True)
|
uvicorn.run("server:app", host="0.0.0.0", port=8000, reload=True)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user