<?php
$address = '127.0.0.1';
$port = 1337;
if (($sock = socket_create(AF_INET
, SOCK_STREAM
, SOL_TCP
)) === false) { }
}
}
do {
break;
}
socketWrite($msgsock, "Welcome\r\n\r\n");
do {
if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ
))) { break 2;
}
if ($buf == "") {
break;
}
if ($buf == "\r\n") {
break;
}
socketWrite($msgsock, $buf);
} while (true);
} while (true);
function socketWrite($msgsock, $buffer) {
if ($bytesSent == $length) {
echo "all bytes have been sent \n";
break;
} else {
$buffer = substr($buffer, $bytesSent); }
}
if ($bytesSent === false) {
}
}
PD9waHAKZXJyb3JfcmVwb3J0aW5nKEVfQUxMKTsKIAokYWRkcmVzcyA9ICcxMjcuMC4wLjEnOwokcG9ydCA9IDEzMzc7CiAKaWYgKCgkc29jayA9IHNvY2tldF9jcmVhdGUoQUZfSU5FVCwgU09DS19TVFJFQU0sIFNPTF9UQ1ApKSA9PT0gZmFsc2UpIHsKCWVjaG8gItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YHQvtC60LXRgiwg0L/RgNC40YfQuNC90LA6ICIgLiBzb2NrZXRfc3RyZXJyb3Ioc29ja2V0X2xhc3RfZXJyb3IoKSkgLiAiXG4iOwoJZGllOwp9CiAKaWYgKHNvY2tldF9iaW5kKCRzb2NrLCAkYWRkcmVzcywgJHBvcnQpID09PSBmYWxzZSkgewoJZWNobyAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQstGP0LfQsNGC0Ywg0YHQvtC60LXRgiDQuiDQsNC00YDRgNC10YHRgywg0L/RgNC40YfQuNC90LA6ICIgLiBzb2NrZXRfc3RyZXJyb3Ioc29ja2V0X2xhc3RfZXJyb3IoKSkgLiAiXG4iOwoJZGllOwp9CiAKaWYgKHNvY2tldF9saXN0ZW4oJHNvY2ssIDUpID09PSBmYWxzZSkgewoJZWNobyAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc29ja2V0X2xpc3RlbigpOiDQv9GA0LjRh9C40L3QsDogIiAuIHNvY2tldF9zdHJlcnJvcihzb2NrZXRfbGFzdF9lcnJvcigkc29jaykpIC4gIlxuIjsKfQogCmRvIHsKCWlmICgoJG1zZ3NvY2sgPSBzb2NrZXRfYWNjZXB0KCRzb2NrKSkgPT09IGZhbHNlKSB7CgkJZWNobyAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc29ja2V0X2FjY2VwdCgpOiDQv9GA0LjRh9C40L3QsDogIiAuIHNvY2tldF9zdHJlcnJvcihzb2NrZXRfbGFzdF9lcnJvcigkc29jaykpIC4gIlxuIjsKICAgICAgICBicmVhazsKCX0KIAoJc29ja2V0V3JpdGUoJG1zZ3NvY2ssICJXZWxjb21lXHJcblxyXG4iKTsKIAoJZG8gewoJCWlmIChmYWxzZSA9PT0gKCRidWYgPSBzb2NrZXRfcmVhZCgkbXNnc29jaywgMjA0OCwgUEhQX05PUk1BTF9SRUFEKSkpIHsKCQkJZWNobyAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQvtC60LXRgiwg0L/RgNC40YfQuNC90LA6ICIgLiBzb2NrZXRfc3RyZXJyb3Ioc29ja2V0X2xhc3RfZXJyb3IoJG1zZ3NvY2spKTsKCQkJYnJlYWsgMjsKCQl9CgoJCSRidWYgPSB0cmltKCRidWYpOwogCgkJaWYgKCRidWYgPT0gIiIpIHsKCQkJYnJlYWs7CgkJfQogCgkJaWYgKCRidWYgPT0gIlxyXG4iKSB7CgkJCWJyZWFrOwoJCX0KIAoJCXNvY2tldFdyaXRlKCRtc2dzb2NrLCAkYnVmKTsKCX0gd2hpbGUgKHRydWUpOwoJc29ja2V0X2Nsb3NlKCRtc2dzb2NrKTsKfSB3aGlsZSAodHJ1ZSk7CiAKc29ja2V0X2Nsb3NlKCRzb2NrKTsKCmZ1bmN0aW9uIHNvY2tldFdyaXRlKCRtc2dzb2NrLCAkYnVmZmVyKSB7CgkkbGVuZ3RoID0gc3RybGVuKCRidWZmZXIpOwogCgl3aGlsZSAoJGJ5dGVzU2VudCA9IHNvY2tldF93cml0ZSgkbXNnc29jaywgJGJ1ZmZlcikpIHsKCQlpZiAoJGJ5dGVzU2VudCA9PSAkbGVuZ3RoKSB7CgkJCWVjaG8gImFsbCBieXRlcyBoYXZlIGJlZW4gc2VudCBcbiI7CgkJCWJyZWFrOwoJCX0gZWxzZSB7CgkJCSRidWZmZXIgPSBzdWJzdHIoJGJ1ZmZlciwgJGJ5dGVzU2VudCk7CgkJfQoJfQogCglpZiAoJGJ5dGVzU2VudCA9PT0gZmFsc2UpIHsKCQllY2hvICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LTQsNC90L3Ri9C1INCyINGB0L7QutC10YIsINC/0YDQuNGH0LjQvdCwOiIgLiBzb2NrZXRfc3RyZXJyb3Ioc29ja2V0X2xhc3RfZXJyb3IoKSk7CgkJc29ja2V0X2Nsb3NlKCRtc2dzb2NrKTsKCX0KfQ==