Запуск Python 2.7.6 в Windows 7.
У меня есть небольшой скрипт, который открывает сокет, отправляет некоторые данные по нему и ждет ответа. Я пытаюсь получить Ctrl-C для немедленного выхода из сценария , если он застревает при попытке подключения (например, сервер не прослушивает). Если я спамлю Ctrl-C, скрипт в конце концов завершается, но не с помощью try / исключением.
Первоначально я запускал это в Терминале PyCharm, но подозревал, что в IDE может быть ошибка Ctrl-C, но я также не получаю никаких результатов в CMD. Ctrl-Pause / Break действительно закрывает скрипт, но я не могу использовать его в терминале PyCharm.
Я что-то не так делаю или так работают сокеты?
import socket
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
print("Trying to connect...")
s.connect(("192.168.0.100", 80))
s.sendall("Hello world")
except KeyboardInterrupt:
print("Interrupted, exiting.")
s.close()
sys.exit(1)
print("Waiting for response...")
data = s.recv(1024)
s.close()
print(data)