首页 > 解决方案 > 如何通过python打印更改的ID并将其发送到另一台带有套接字的计算机

问题描述

基本上,我有我的代码,它可以找到视频游戏的大厅 ID,然后发送到我的笔记本电脑。然后,这将打开带有参数和特定大厅 ID 的 exe。我希望它在我启动另一个游戏/服务器时改变。当大厅 ID 更改时,我有要输出的脚本,但是当我将它插入我的套接字脚本时。它只输出第一个。

如果我散列所有 s= socket... 部分并在它下面正常运行

import socket
import glob
import os
import re
placeholder = ''

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = '192.168.0.17'
port = 50502
s.connect((host,port))

while True:

    GAME_DIRECTORY = 'C:/Program Files/Oculus/Software/Software/ready-at-dawn-echo-arena'

    logs = glob.glob(GAME_DIRECTORY + '/_local/r14logs/*')
    log = max(logs, key = os.path.getctime)
    with open(log, 'r') as f:
        file = f.read()

    lobbyid = re.findall(r'........-....-....-....-............', file)[-1]
    if lobbyid != placeholder:
        if lobbyid != ('00000000-0000-0000-0000-000000000000'): 
            placeholder = lobbyid  
            print (lobbyid)

            def ts(str):
                s.send(lobbyid.encode()) 
                data = ''
                data = s.recv(1024).decode()
                s.close ()
            ts(s)

标签: pythonpython-3.xsockets

解决方案


推荐阅读