-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_client.py
55 lines (48 loc) · 1.59 KB
/
test_client.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import random
import socket
import sys
import time
# Name of the bot using this client
try:
testbot_username = sys.argv[1]
except IndexError:
sys.exit("Missing bot name")
# Test messages
messages = [
b"There was an earthquake yesterday",
b"Maurice loves sweet potato and cheese",
b"Do you like sushi?",
b"I drank too much last night",
b"I need to buy a new pillow",
b"The movie AKA is really good",
b"I can't wait for Diablo IV",
]
while True:
try:
# Create a TCP connection to our server
conn = socket.create_connection(("localhost", 9876))
conn.settimeout(3)
print(conn.recv(4096).decode())
# Send our username
print(f">> Sending name: {testbot_username}")
conn.sendall(testbot_username.encode() + b"\n")
time.sleep(1)
# Catch reply from the server
print(conn.recv(4096).decode())
# While connection is opened ...
while True:
# ... Send random predefined messages
message_to_send = random.choice(messages)
print(f">> Sending message: {message_to_send.decode()}")
conn.sendall(message_to_send + b"\n")
# ... Display received messages
try:
received_message = conn.recv(4096)
except socket.timeout:
received_message = b""
print(f">> Received message: {received_message.decode()}")
# Let the client breath for a few seconds
time.sleep(5)
except:
print("/!\\ Disconnected. Trying to reconnect...")
time.sleep(5)