首页 » 网站建设 » phpsocket_getpeername技巧_62php运用原生socket创建tcp做事

phpsocket_getpeername技巧_62php运用原生socket创建tcp做事

访客 2024-11-13 0

扫一扫用手机浏览

文章目录 [+]

2.1、tcp做事源码

<?php

phpsocket_getpeername技巧_62php运用原生socket创建tcp做事

/

phpsocket_getpeername技巧_62php运用原生socket创建tcp做事
(图片来自网络侵删)

Copyright(C) Iamasb

@project : 3、workerman干系知识点

@explain : 原生socket创建创建tcp做事

@filename : socket_tcp.php

@author : Iamasb

/

// 创建tcp

if (!($resource = socket_create(AF_INET,SOCK_STREAM,SOL_TCP))) {

echo \"大众socket create is error\"大众;

exit();

}

// 绑定当前主机和端口

if (!socket_bind($resource,'0.0.0.0','1234')) {

echo \"大众socket bind is error\公众;

exit();

}

// 启动监听

if (!socket_listen($resource)) {

echo \"大众socket listen is error\公众;

exit();

}

// 设置端口复用

if (!socket_set_option($resource, SOL_SOCKET, SO_REUSEADDR, 1)) {

echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL;

exit;

}

while (1) {

$client = socket_accept($resource);

socket_getsockname($client,$addr,$port);

echo 'local->',$addr,'-->',$port,PHP_EOL;

socket_getpeername($client,$addr,$port);

echo 'remote->',$addr,'-->',$port,PHP_EOL;

$string = socket_read($client,1024);

echo $string;

socket_write($client,$string,strlen($string));

socket_close($client);

}

2.2、启动tcp做事

3、测试

测试有两种办法,一种是通过编写客户端,另一种是通过telnet

3.1、通过telnet

此时tcp做事真个显示结果

3.2、通过socket编写tcp客户端,并实行客户端

<?php

/

tcp 客户端

/

if (!($resource = socket_create(AF_INET,SOCK_STREAM,SOL_TCP))) {

echo \公众socket create is error\"大众;

exit();

}

if (!socket_connect($resource,'127.0.0.1','1234')) {

echo 'connect is error';

exit();

}

$string = 'hello world';

echo socket_send($resource,$string,strlen($string),MSG_EOF);

echo socket_read($resource,1024);

相关文章

微信第三方登录便捷与安全的完美融合

社交平台已成为人们日常生活中不可或缺的一部分。微信作为我国最受欢迎的社交软件之一,拥有庞大的用户群体。为了方便用户在不同平台间切换...

网站建设 2025-02-18 阅读0 评论0

广东高速代码表解码高速公路管理智慧

高速公路作为国家交通动脉,连接着城市与城市,承载着巨大的物流和人流。广东作为我国经济大省,高速公路网络密布,交通流量巨大。为了更好...

网站建设 2025-02-18 阅读0 评论0