Ai
1 Star 10 Fork 0

DennisRitche/php-socket-base-code

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
TcpClient.php 1.54 KB
一键复制 编辑 原始数据 按行查看 历史
saberyjs 提交于 2019-11-13 09:27 +08:00 . TcpClient and TcpServer
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/11/13 0013
* Time: 8:39
*/
class TcpClient
{
private $server_port;
private $server_addr;
private $socket_handle;
public function __construct($port = 8080, $addr = "127.0.0.1")
{
$this->server_addr = $addr;
$this->server_port = $port;
}
/**
* @throws Exception
*/
private function createSocket()
{
//创建socket套接字
$this->socket_handle = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$this->socket_handle) {
//创建失败抛出异常,socket_last_error获取最后一次socket操作错误码,socket_strerror打印出对应错误码所对应的可读性描述
throw new Exception(socket_strerror(socket_last_error($this->socket_handle)));
} else {
echo "create socket successful\n";
}
}
public function connectToServer()
{
$this->createSocket();
if (!socket_connect($this->socket_handle, $this->server_addr, $this->server_port)) {
echo socket_strerror(socket_last_error($this->socket_handle)) . "\n";
exit(1);
} else {
while (true) {
$data = fgets(STDIN);
//如果用户输入quit,那么退出程序
if (strcmp($data, "quit") == 0) {
break;
}
socket_write($this->socket_handle, $data);
}
}
}
}
$client = new TcpClient();
$client->connectToServer();
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/obamajs/php-socket-base-code.git
git@gitee.com:obamajs/php-socket-base-code.git
obamajs
php-socket-base-code
php-socket-base-code
master

搜索帮助