Skip to content

Commit f15ffb6

Browse files
author
parita pooj
committed
multiple client chat
1 parent cfa31f3 commit f15ffb6

2 files changed

Lines changed: 52 additions & 33 deletions

File tree

socket-programming/echo-client.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,21 @@
66
size = 1024
77
client= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
88
client.connect((host,port))
9-
9+
print client.getsockname()
1010
print '%'
11-
11+
data=''
1212
while 1:
13-
print client.getsockname()
14-
# read from keyboard
15-
data = raw_input("Data:")
16-
print 'Sent:',data,'%'
17-
data = client.recv(size)
13+
# read from keyboard
14+
if data:
15+
print 'Received:',data.'%'
16+
else:
17+
data = raw_input("Data:")
18+
if data:
19+
client.send(data)
20+
print 'Sent:',data,'%'
21+
data=''
22+
else:
23+
data=client.recv(size)
24+
1825

19-
if data == '':
20-
break
21-
client.send(data)
22-
data = client.recv(size)
23-
print 'Received:',data
24-
print '%'
2526
client.close()

socket-programming/echo-server.py

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,45 @@
88

99
print "TCPServer Waiting for client on port 5000"
1010

11-
data =''
11+
12+
data ='initialised...'
1213
input_ = [server_socket]
1314
output = [server_socket]
1415
inputready,outputready,exceptready = select.select(input_,output,[])
16+
print len(inputready) , len(input_), len(outputready), len(output)
1517
while 1:
16-
17-
print len(inputready) , len(input_), len(outputready), len(output)
18-
for s in inputready:
19-
20-
print s.getsockname()
21-
if s==server_socket:
22-
client, address = server_socket.accept()
23-
print "I got a connection from ", address
24-
input_.append(client)
25-
else:
26-
data = s.recv(1024)
27-
if data:
28-
s.send(data)
29-
print 'received:',data
30-
else:
31-
s.close()
32-
input_.remove(s)
33-
print "Mistake idhar hai kya ?"
34-
inputready,outputready,exceptready = select.select(input_,output,[])
18+
for s in inputready:
19+
if s==server_socket:
20+
client, address = server_socket.accept()
21+
print "I got a connection from ", address
22+
input_.append(client)
23+
24+
else:
25+
if data:
26+
s.send(data)
27+
data=s.recv(1024)
28+
print "received:",data
29+
if data:
30+
print "out of inputready"
31+
break;
32+
else:
33+
input_.remove(s)
34+
inputready,outputready,exceptready = select.select(input_,output,[])
35+
print len(inputready) , len(input_), len(outputready), len(output)
36+
inputready,outputready,exceptready = select.select(input_,output,[])
37+
print len(inputready) , len(input_), len(outputready), len(output)
38+
for s in outputready:
39+
if s==server_socket:
40+
client, address = server_socket.accept()
41+
print "I got a connection from ", address
42+
output.append()
43+
else:
44+
if data:
45+
s.send(data)
46+
output.remove(s)
47+
else:
48+
s.close()
49+
inputready,outputready,exceptready = select.select(input_,output,[])
50+
print len(inputready) , len(input_), len(outputready), len(output)
51+
52+

0 commit comments

Comments
 (0)