예제 #1
0
        print(msg)
    sys.exit(1)
except BrokenPipeError as e:
    print("Bob left unexpectedly")

try:
    for message in messages_to_send:
        Alice_message = Alice.send_message(message)
        sock_self.send(Alice_message.encode())
        bob_resp = sock_self.recv(1024).decode()
        need_response, alice_resp, terminal_signal = Alice.respond_state_machine(
            bob_resp, bob_host)
        if terminal_signal:
            break

    Alice_msg = Alice.disconnect()
    sock_self.send(Alice_msg.encode())
    for rounds in range(3):
        bob_resp = sock_self.recv(1024).decode()
        need_response, Alice_msg, terminal_signal = Alice.respond_state_machine(
            bob_resp, bob_host)
        if Alice_msg is not None and (need_response or not terminal_signal):
            sock_self.send(Alice_msg.encode())
        else:
            break
    sock_self.close()
except BrokenPipeError as e:
    print("Bob left unexpectedly")

print("Bob left as expected")
예제 #2
0
print("-" * 50)
print("alice talks thrice")
alice_msg = alice.send_message("What?")
_, bob_resp, terminal_signal = bob.respond_state_machine(alice_msg, alice_ip)
_, alice_resp, terminal_signal = alice.respond_state_machine(bob_resp, bob_ip)

print("-" * 50)
print("alice talks frice")
alice_msg = alice.send_message("What?")
_, bob_resp, terminal_signal = bob.respond_state_machine(alice_msg, alice_ip)
_, alice_resp, terminal_signal = alice.respond_state_machine(bob_resp, bob_ip)

print("-" * 50)
print("alice -> DISCON REQ")
alice_msg = alice.disconnect()
print_pkg_info(bob.pkg_interp(alice_msg))

print("-" * 50)
print("bob -> DISCON CLG")
_, bob_resp, terminal_signal = bob.respond_state_machine(alice_msg, alice_ip)
print_pkg_info(alice.pkg_interp(bob_resp))

print("-" * 50)
print("alice -> DISCON RPY")
_, alice_resp, terminal_signal = alice.respond_state_machine(bob_resp, bob_ip)
print_pkg_info(bob.pkg_interp(alice_resp))

print("-" * 50)
print("bob -> disconnects")
_, bob_resp, terminal_signal = bob.respond_state_machine(alice_resp, alice_ip)