<?php
/* Socket Send - by dark2k1(dark2k1.com)
This is good for debugging network applications.
*/
extract($_GET);
extract($_POST);
function form() {
global $PHP_SELF;
echo "
<center><b>Socket Sender</b></center><br>
<form action='$PHP_SELF' method='post'>
<center>
<table width='390'>
<tr><td>Host:</td><td><input type='text' name='host'></td></tr>
<tr><td>Port:</td><td><input type='text' name='port'></td></tr>
<tr><td>Send Data:</td><td><textarea name='send_data' rows='5' cols='25'></textarea></td></tr>
<tr><td>Mode:</td><td>
<input type='radio' name='mode' value='write' SELECTED>Write
<input type='radio' name='mode' value='read'> Read
<input type='radio' name='mode' value='read|write'>Read/Write
<input type='radio' name='mode' value='write|read'>Write/Read
</td></tr>
<tr><td colspan='2' align='center'><input type='hidden' name='func' value='process'><input type='submit' value='Submit'></td></tr>
</table>
</center>
</form>";
}
function process() {
global $host, $port, $mode, $send_data;
ob_implicit_flush();
echo "Socket Creation: ";
if($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
if($mode == "write") {
echo "Connecting: ";
if($connect = socket_connect($socket, $host, $port)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
$send_data = explode("|", $send_data);
for($x = 0; $x < count($send_data); $x++) {
echo "Socket Write: ";
if(socket_write($socket, $send_data[$x])) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
}
echo "Closing Socket: ";
if(socket_close($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
} elseif($mode == "read") {
echo "Binding Socket: ";
if(socket_bind($socket, $host, $port)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Listen Socket: ";
if(socket_listen($socket, 5)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Socket Accept: ";
if(socket_accept($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Recieved Data: ";
while($data = socket_read($socket, 2046, PHP_NORMAL_READ)) {
$data = str_replace("
", "<br>", $data);
echo $data;
}
echo "Closing Socket: ";
if(socket_close($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
} elseif($mode == "write|read") {
echo "Connecting: ";
if($connect = socket_connect($socket, $host, $port)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
$send_data = explode("|", $send_data);
for($x = 0; $x < count($send_data); $x++) {
echo "Socket Write: ";
if(socket_write($socket, $send_data[$x])) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
}
echo "Binding Socket: ";
if(socket_bind($socket, $host, $port)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Listen Socket: ";
if(socket_listen($socket, 5)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Socket Accept: ";
if(socket_accept($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Recieved Data: ";
while($data = socket_read($socket, 2046, PHP_NORMAL_READ)) {
$data = str_replace("
", "<br>", $data);
echo $data;
}
echo "Closing Socket: ";
if(socket_close($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
} elseif($mode == "read|write") {
echo "Binding Socket: ";
if(socket_bind($socket, $host, $port)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Listen Socket: ";
if(socket_listen($socket, 5)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Socket Accept: ";
if(socket_accept($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
echo "Recieved Data: ";
while($data = socket_read($socket, 2046, PHP_NORMAL_READ)) {
$data = str_replace("
", "<br>", $data);
echo $data;
}
echo "Connecting: ";
if($connect = socket_connect($socket, $host, $port)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
$send_data = explode("|", $send_data);
for($x = 0; $x < count($send_data); $x++) {
echo "Socket Write: ";
if(socket_write($socket, $send_data[$x])) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
}
echo "Closing Socket: ";
if(socket_close($socket)) {
echo "Successful<br>";
} else {
echo "Failed<br>";
}
}
}
switch($func) {
default;
form();
break;
case "process";
process();
break;
}
?>