Socket Programming Using Python
Untuk mempermudah implementasi disarankan untuk me-install IDE (dalam post ini akan menggunakan Geany)
Pada postingan ini akan dijabarkan cara mengimplementasikan konsep socket programming dengan menggunakan Phyton.
Copy-paste kode di bawah ini:
import socket
import sys
from thread import *
HOST = '' # Symbolic name meaning all available interfaces
PORT = 8888 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'
#Bind socket to local host and port
try:
s.bind((HOST, PORT))
except socket.error , msg:
print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit()
print 'Socket bind complete'
#Start listening on socket
s.listen(10)
print 'Socket now listening'
#Function for handling connections. This will be used to create threads
def clientthread(conn):
#Sending message to connected client
conn.send('Welcome to the server. Type something and hit enter\n') #send only takes string
#infinite loop so that function do not terminate and thread do not end.
while True:
#Receiving from client
data = conn.recv(1024)
reply = 'CHAT: ' + data
if not data:
break
conn.sendall(reply)
#came out of loop
conn.close()
#now keep talking with the client
while 1:
#wait to accept a connection - blocking call
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1])
#start new thread takes 1st argument as a function name to be run, second is the tuple of arguments to the function.
start_new_thread(clientthread ,(conn,))
s.close()
simpan file dengan nama "server.py", lalu compile dan build. Jalankan program dengan menggunakan Terminal dan ketik perintah di bawah ini (pastikan anda sudah berada pada direktori yang sesuai)
Lalu buka tab baru pada Terminal anda dan ketik perintah berikut untuk masuk sebagai client
Maka anda sudah dapat menggunakan layanan chat sederhana ini.
http://www.binarytides.com/python-socket-programming-tutorial/