Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- import select
- #python.exe C:\Users\Yannay\PycharmProjects\serveralot\Server.py
- def send_waiting_messages(wlist, sendMsg):
- #get list of open sockets
- for msg in sendMsg:
- (client_socket, data) = msg
- if client_socket in wlist:
- client_socket.send(data)
- sendMsg.remove(msg)
- server_socket = socket.socket()
- server_socket.bind(('0.0.0.0', 13))
- server_socket.listen(5)
- open_client_sockets = []
- sendMsg = []
- while True:
- #get lists of clients
- rlist, wlist, xlist = select.select([server_socket] + open_client_sockets, open_client_sockets, [])
- for s in rlist:
- if s is server_socket:
- (new_socket, address) = server_socket.accept()
- open_client_sockets.append(new_socket)
- else:
- try:
- data = s.recv(1024)
- except:
- open_client_sockets.remove(s)
- continue
- #when client disconnecting he sends "" to the server - he sends nothing
- if data == "" or data == "exit":
- open_client_sockets.remove(s)
- sendMsg = [item for item in sendMsg if item[0] != s]
- print "Connection with client closed \n"
- else:
- sendMsg.append((s, "Hello, " + data))
- print "New data from client: "
- print data + "\n"
- send_waiting_messages(wlist, sendMsg)
- server_socket.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement