Tag: сокеты

Какой порт используется моим сокетом

Предположим, что я создаю UDP-сокет в python, а затем отправлю сообщение, используя: sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto(MESSAGE, (DEST_IP, DEST_PORT)) Как узнать, какой исходный порт отправил мое сообщение? (Я не хочу привязывать мой сокет к любому конкретному порту. Но как узнать, какой исходный порт использовался для отправки сообщения?)

Мне нужен сервер для отправки сообщений всем клиентам (Python, сокеты)

Это моя серверная программа, как она может отправлять данные, полученные от каждого клиента, каждому другому клиенту? import socket import os from threading import Thread import thread def listener(client, address): print "Accepted connection from: ", address while True: data = client.recv(1024) if not data: break else: print repr(data) client.send(data) client.close() host = socket.gethostname() port = 10016 […]

Как я могу перегрузить встроенный модуль в python?

Я пытаюсь связать хосты с указанными ips в моей программе python. Просто измените его в программе python, поэтому я не буду изменять файл /etc/hosts . Я попытался добавить бит-код к функции socket.py в socket.py для перевода хоста-ip, например: host, port = address # the original code in socket.py # My change here: if host == […]

Простое программирование сокетов в Python: плохие серверы

Я пытаюсь написать простой текстовый / HTTP-сервер, который в python имитирует множество плохих сетевых условий. Во-первых, я хочу, чтобы сервер, который, похоже, закроет соединение, не отправив браузеру никаких данных, чтобы надежно создать ошибку «net :: ERR_EMPTY_RESPONSE». В большинстве руководств по программированию сокетов речь идет о том, как создавать хорошие серверы, а не о том, как […]

Python: фиксированное время ожидания для получения данных сокетов

Я написал udp-сервер и клиент. Клиент отправляет простые сообщения udp на сервер, и сервер будет отвечать. Сервер будет случайным образом отбрасывать некоторые пакеты ответов. В моем клиентском коде я написал следующую строку for i in range(0,10): sequence_number = i start = time.time() clientSocket.sendto("Ping " + str(i) + " " + str(start), server) # Receive the […]

Python – клиент UDP

В настоящее время я читаю книгу Python и наткнулся на следующий пример: import socket target_host = "127.0.0.1" target_port = 80 # create a socket object client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # send some data client.sendto("AAABBBCCC",(target_host,target_port)) # receive some data data, addr = client.recvfrom(4096) print data Если я правильно понял, я создаю слушателя для своего собственного обратного […]

Разъем? python -m SimpleHTTPServer

Проблема: чтобы команда работала здесь. Мой домен – http://cs.edu.com/user/share_dir , но я не могу заставить команду работать, набрав ее в браузере: http://cs.edu.com/user/share_dir:8000 Вопрос: Как я могу заставить команду работать?

Socket: двухсторонняя связь в python

Я хочу двухстороннюю связь в Python: Я хочу привязать к сокету, к которому может подключиться один клиент, а затем сервер и клиент могут «общаться» с пользователем. У меня уже есть основной слушатель: import socket HOST='' #localhost PORT=50008 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM ) #create an INET, STREAMing socket s.bind((HOST,PORT)) #bind to that port s.listen(1) #listen for user input […]

CTRL-C ведет себя по-другому в Python

Недавно я начал изучать Python (долгое время Java-программист здесь) и в настоящее время занимается написанием простых серверных программ. Проблема заключается в том, что для кажущейся аналогичной части кода Java-аналог правильно реагирует на сигнал SIGINT ( Ctrl + C ), тогда как на Python нет. Это видно, когда отдельный поток используется для создания сервера. Код выглядит […]

Как изменить переменные в экземпляре сервера SocketServer из экземпляра обработчика RequestHandler в Python?

Вот код, о котором идет речь: class Server(SocketServer.ForkingMixIn, SocketServer.TCPServer): __slots__ = ("loaded") class Handler(SocketServer.StreamRequestHandler): def handle(self): print self.server.loaded # Prints "False" at every call, why? self.server.loaded = True print self.server.loaded # Prints "True" at every call, obvious! server = Server(('localhost', port), Handler) server.loaded = False while True: server.handle_request() Каждый раз, когда приходит новый запрос, вывод, […]

Python - лучший язык программирования в мире.