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

#2
nice om boleh dicoba nih Tongue
Every Second, Every Minutes, Every Hours, Every Days Its Never End

#3
mantabs om Smile
ane coba dulu ya Tongue

#4
(04-21-2012, 01:38 PM)losec Wrote: 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

kerennnnnn,, Big Grin asikk ini klo clinennya cewek Tongue

#5
wuih, ijin coba om :d nice sharing :-bd :-bd
I am Just Lammer Sakit Hati
[/size]

#6
nice share mas bro , lama g keliatan nih

#7
ijin coba ye bro.. kalo ente kembangin lagi buat tampilan nya bakal tambah keren..

#8
salah dimana ya

root@bt:/pentest/xsanTOOLS/chat# ./server.py
File "./server.py", line 34
while True:
^
IndentationError: expected an indented block

#9
ijin bookmark ya kak.. ini mesti dalam 1 jaringan kah?
Security awareness should be the continuing practice of a skill and not the continuous reminder of a threat.






Users browsing this thread: 1 Guest(s)