Настройка:
Сервер: компьютер с Windows (запускается main.py)
Клиент: телефон Android с Termux (запускается client.py)
Проблема: когда оба файла запускаются на одном компьютере, все работает. Но когда я запускаю сервер на своем компьютере и клиент на своем телефоне, я получаю ошибку тайм-аута.
Ошибка:
Код: Выделить всё
Traceback (most recent call last):
File "/data/data/com.termux/files/home/downloads/FridayBeta.py", line 4, in
client.connect(("adress"))
TimeoutError: [Errno 110] Connection timed out
Код: Выделить всё
import socket
import os
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('address')) # I put my computer's local IP here
server.listen()
while True:
user, adres = server.accept()
while True:
data = user.recv(1024).decode("utf-8").lower()
print(data)
if data == "off":
os.system('shutdown -s -t 0')
Код: Выделить всё
import socket
import telebot
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('address')) # Same IP address as server
bot = telebot.TeleBot('my_api_token')
@bot.message_handler(content_types=['text'])
def hi(message):
if message.text.lower() == "off":
client.send("off".encode("utf-8"))
else:
bot.send_message(message.chat.id, "hi")
q = message.text.lower()
client.send(q.encode("utf-8"))
while True:
bot.polling()
Почему время соединения истекает только при запуске на разных устройствах?
Do Мне нужно настроить что-то на Android (Termux), чтобы разрешить исходящие соединения сокетов?
Что-то не так с тем, как я обрабатываю соединение на стороне сервера?
Компьютер: Windows 10, Python 3.10
Телефон: Android (Redmi Note 10), Termux, Python 3.11
Подробнее здесь: https://stackoverflow.com/questions/787 ... rver-on-wi
Мобильная версия