Indonesian Back|Track Team
multiple chat-server client - Printable Version

+- Indonesian Back|Track Team (https://www.indonesianbacktrack.or.id/forum)
+-- Forum: General Zone (https://www.indonesianbacktrack.or.id/forum/forum-172.html)
+--- Forum: Programming (https://www.indonesianbacktrack.or.id/forum/forum-95.html)
+---- Forum: Python (https://www.indonesianbacktrack.or.id/forum/forum-111.html)
+---- Thread: multiple chat-server client (/thread-2268.html)



multiple chat-server client - losec - 04-21-2012

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


RE: multiple chat-server client - ekawithoutyou - 04-21-2012

nice om boleh dicoba nih Tongue


RE: multiple chat-server client - xombix - 04-21-2012

mantabs om Smile
ane coba dulu ya Tongue


RE: multiple chat-server client - revzter - 04-21-2012

(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


RE: multiple chat-server client - ChelvinCesio - 06-28-2013

wuih, ijin coba om :d nice sharing :-bd :-bd


RE: multiple chat-server client - Junior Riau - 06-28-2013

nice share mas bro , lama g keliatan nih


RE: multiple chat-server client - naice - 06-28-2013

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


RE: multiple chat-server client - xsan-lahci - 06-28-2013

salah dimana ya

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


RE: multiple chat-server client - achmad_zzz - 06-28-2013

ijin bookmark ya kak.. ini mesti dalam 1 jaringan kah?