# L-28 MCS 275 Wed 15 Mar 2017 : remote_server.py
"""
Illustration of sockets in a server using TCP,
where server and client are different computers.
The code for the corresponding client
is in remote_client.py.
"""
from socket import socket as Socket
from socket import AF_INET, SOCK_STREAM, SHUT_RDWR

HOSTNAME = ''      # blank for any address
PORTNUMBER = 41267 # number for the port
BUFFER = 80        # size of the buffer

SERVER_ADDRESS = (HOSTNAME, PORTNUMBER)
SERVER = Socket(AF_INET, SOCK_STREAM)
SERVER.bind(SERVER_ADDRESS)
SERVER.listen(1)

print('server waits for connection')
CLIENT, CLIENT_ADDRESS = SERVER.accept()
if CLIENT_ADDRESS[0] == '131.193.41.130':
    print('server accepted connection from ',\
        CLIENT_ADDRESS)
    print('server waits for data')
    DATA = CLIENT.recv(BUFFER).decode()
    print('server received ', DATA)
else:
    print('server does not accept data from ',\
        CLIENT_ADDRESS)
    CLIENT.shutdown(SHUT_RDWR)

SERVER.close()
