/**
* 请用php写出以下程序:假设网络中有一台服务器192.168.1.101,开放端口8899进行侦听,请用php的socket相关知识,写出一个简易的client,连接到server,并发送字符串”hello server!”。程序仅对连接的成功和失败进行简易错误判断和处理即可。
*/
echo '<hr/>';
socketSend('127.0.0.1', '80', 'hello word');
function socketSend($ip, $port, $message = 'socket request') {
// 创建 socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
if(!$socket) {
$error['error_code'] = socket_last_error();
$error['error_msg'] = socket_strerror($error['error_code']);
var_dump($error);die();
}
// socket 连接
$connect = socket_connect($socket, $ip, $port);
if(!$connect) {
$error['error_code'] = socket_last_error();
$error['error_msg'] = socket_strerror($error['error_code']);
var_dump($error);die();
}
// 发送数据
$result = socket_send($socket, $message, strlen($message), 0);
if(!$result) {
$error['error_code'] = socket_last_error();
$error['error_msg'] = socket_strerror($error['error_code']);
var_dump($error);die();
}
// 关闭socket
socket_close($socket);
}