multiple chat-server client
#1
ane maw share script ane nih bro ,bagi yang ingin belajar network programming di python

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()


[Image: 33o1n9y.jpg]

semoga bermanfaat ya


Messages In This Thread
multiple chat-server client - by losec - 04-21-2012, 01:38 PM
RE: multiple chat-server client - by xombix - 04-21-2012, 07:57 PM
RE: multiple chat-server client - by revzter - 04-21-2012, 08:00 PM
RE: multiple chat-server client - by ChelvinCesio - 06-28-2013, 03:05 PM
RE: multiple chat-server client - by Junior Riau - 06-28-2013, 03:17 PM
RE: multiple chat-server client - by naice - 06-28-2013, 04:29 PM
RE: multiple chat-server client - by xsan-lahci - 06-28-2013, 09:19 PM
RE: multiple chat-server client - by achmad_zzz - 06-28-2013, 09:30 PM




Users browsing this thread: 1 Guest(s)