04-21-2012, 01:38 PM
ane maw share script ane nih bro ,bagi yang ingin belajar network programming di python
fungsinya sbg multiple chat client dan server..
server
client
semoga bermanfaat ya
fungsinya sbg multiple chat client dan server..
server
Code:
#!/usr/bin/python
import socket
import threading
class rcv(threading.Thread):
def __init__(self,cli):
self.cli=cli
threading.Thread.__init__(self)
def run(self):
while True:
data = self.cli.recv(1024)
print data
if(data == 'quit'):
print"close client"
self.cli.send(data)
i.remove(self.cli)
break
else:
for c in range (len (i)):
i[c].send(data)
server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("192.168.1.2",5000))
server.listen(5)
i=[]
try:
while True:
client,addr=server.accept()
print "got connection from",addr
i.append(client)
print i
if client :
chat =rcv(client)
chat.start()
except KeyboardInterrupt, err :
print "Exit"
server.close()
client
Code:
from socket import *
import threading
import sys
if len(sys.argv) < 3 :
print "usage :*.py [host] [port] "
sys.exit()
host=sys.argv[1]
port=int(sys.argv[2])
ADDRESS = (host, port)
tcpsoc = socket(AF_INET, SOCK_STREAM)
tcpsoc.connect(ADDRESS)
print 'connected to ', ADDRESS
print '''
Welcome to chat
##############losec##################
'''
class send(threading.Thread):
def run(self):
while True:
print'''
----------------------------
%s (me)
----------------------------
''' %nick
data = raw_input('')
if data == 'quit':
tcpsoc.send(data)
break
else:
tcpsoc.send("\n%s : "%nick+data)
tcpsoc.close()
class rcv(threading.Thread):
def run(self):
while True:
msg =tcpsoc.recv(1024)
a =msg.split()
if a[-1] =='quit':
print 'exit , Bye'
break
else :
print msg
tcpsoc.close()
sys.exit()
def ni():
n=raw_input("Insert ur name : ")
return n
nick=ni()
a=send()
a.start()
b=rcv()
b.start()
semoga bermanfaat ya