Sister-04 - yptk - SISTEM INFORMASI AKADEMIK

Download Report

Transcript Sister-04 - yptk - SISTEM INFORMASI AKADEMIK

SISTEM TERDISTRIBUSI (SILABUS dan
Introduction to Distributed Systems)
Desember 2014
PEMROGRAMAN SOCKET PADA PHP
Socket programming merupakan bahasa pemrograman yang dapat
mengkomunikasikan beberapa komputer. Socket programming tidak hanya
dapat berfungsi sebagai tukar menukar data melainkan juga dapat
berkomunikasi dengan program lain yang berjalan pada platform non-unix
melalui jaringan TCP/IP. Pada mesin unix terdapat fasilitas rlogin, ssh, ftp,
dll yang menggunakan socket. Socket terdiri dari beberapa elemen utama
dantaranya:
1.Protokol
2.Local IP
3.Local Port
4.Remote IP
5.Remort Port
Protocol Family pada socket :
1.AF_INET = IPv4 dan AF_INET6 = IPv6 adalah protocol berbasis internet termasuk TCP dan
UDP 2.AF_UNIX = berfungsi sebagai komunikasi local Tipe-tipe komunikasi pada socket :
1.SOCK_STREAM
2.SOCK_SEQPACKET
3.SOCK_RAW
4.SOCK_RDM
5.SOCK_DGRAM
Spesifik Protokol pada socket : TCP, UDP, ICMP Contoh script
pembuatan socket :
Script Socket Untuk Server mainserver.php
<?php
//ip server yang menyediakan layanan
$host = "127.0.0.1";
//port socket yang menyediakan layanan
$port = "919";
//contoh paket data yang akan di kirim
$a='WAW;;0029;SAMPLE;6287877180782;03';
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// menyambungkan ke server
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
// mengirim paket data ke server
socket_write($socket, $a, strlen($a)) or die("Could not send data to server\n");
// menerima respon dari server
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
//menampilkan respon yang diterima dari server, jika server mengirim data kembalian
echo $result;
// menutup koneksi socket
socket_close($socket);
?>
<form action="" method="post">
Send message to server <br />
<input type='text' name="msg" />
<input type='submit' name='smb' />
</form>
<?php
$host = "127.0.0.1";
$port
= 9000;
if($_POST['smb']){
$message = $_POST['msg'];
echo "Message To server :".$message;
echo '<br />';
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;
echo "<br /><br />";
socket_close($socket);
}
?>
<?php
// set some variables
$host = "127.0.0.1";
$port = 9000;
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
while(true){
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
$input = socket_read($spawn, 1024) or die("Could not read input\n");
if ($input == '!close') {
socket_write($spawn, 'good bye', strlen ('good bye'))
or die("Could not write output\n");
break;
}
$input = trim($input);
$output = strrev($input) . "\n";
echo "Client Message : ".$input;
echo nl2br('\n\n');
echo "Server Reply : ".$output;
echo nl2br('\n\n');
socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");
}
socket_close($spawn);
socket_close($socket);
?>