Skip to content

Commit 73ac80b

Browse files
committed
Minor changes
1 parent d2561f8 commit 73ac80b

File tree

3 files changed

+30
-17
lines changed

3 files changed

+30
-17
lines changed

OtherSocketExamples/asyncio_stream_simple_server.py

+20-15
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import logging
33
import threading
44
import asyncio
5+
import sys
56

67
"""
78
Connect to this server using netcat or similar utilities
@@ -38,7 +39,11 @@ async def server_handler(reader, writer):
3839
while True:
3940
writer.write(">> ".encode())
4041
await writer.drain()
41-
data = await reader.read(1024)
42+
try:
43+
data = await reader.read(1024)
44+
except ConnectionResetError:
45+
logging.error(f"Closed connection - Reset Connection Error: {addr}")
46+
break
4247
cmd = data.decode().strip()
4348

4449
logging.info(f"Received {cmd} from {addr}")
@@ -57,25 +62,25 @@ async def server_handler(reader, writer):
5762

5863
async def main():
5964
global HOST, PORT
60-
logging.basicConfig(level=logging.DEBUG, format="%(threadName)s --> %(asctime)s - %(levelname)s: %(message)s",
61-
datefmt="%H:%M:%S")
62-
parser = argparse.ArgumentParser()
63-
parser.add_argument("-a", "--address", help="host address", default=HOST, type=str, dest="address")
64-
parser.add_argument("-p", "--port", help="port number", default=PORT, type=int, dest="port")
65-
args = parser.parse_args()
66-
PORT = args.port
67-
HOST = args.address
65+
try:
66+
HOST = sys.argv[1]
67+
except:
68+
pass
69+
try:
70+
PORT = sys.argv[2]
71+
except:
72+
pass
6873

6974
logging.info(f"Server running on {HOST}:{PORT}...")
7075

7176
server = await asyncio.start_server(server_handler, HOST, PORT)
7277

73-
try:
74-
async with server:
75-
await server.serve_forever()
76-
except KeyboardInterrupt:
77-
logging.warning("Server stopping...")
78+
async with server:
79+
await server.serve_forever()
7880

7981

8082
if __name__ == "__main__":
81-
asyncio.run(main())
83+
try:
84+
asyncio.run(main())
85+
except KeyboardInterrupt:
86+
logging.warning("Server stopping...")

OtherSocketExamples/multithreaded_simple_server.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ def client_handle(conn, addr):
2222
logging.info(f"New connection {addr}")
2323
while True:
2424
conn.sendall(">> ".encode())
25-
data = conn.recv(1024).decode() # command
25+
try:
26+
data = conn.recv(1024).decode() # command
27+
except ConnectionResetError:
28+
logging.error(f"Closed connection - Reset Connection Error: {addr}")
29+
break
2630
cmd = data[0]
2731
logging.debug(f"Received: {cmd}")
2832
if not cmd: break

OtherSocketExamples/socketserver_simple_server.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ def handle(self):
1616
logging.info(f"New connection {self.client_address}".encode())
1717
while True:
1818
self.request.sendall(">> ".encode())
19-
data = self.request.recv(1024).decode() # command
19+
try:
20+
data = self.request.recv(1024).decode() # command
21+
except ConnectionResetError:
22+
logging.error(f"Closed connection - Reset Connection Error: {self.client_address}")
23+
break
2024
cmd = data[0]
2125
logging.debug(f"Received: {cmd}")
2226
if not cmd: break

0 commit comments

Comments
 (0)