iNet

php中连接tcp服务的三种方式

时光毁灭记忆、已成空白 提交于 2020-04-17 02:15:52
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

【网络编程01】socket的基础知识-简单网络通信程序

早过忘川 提交于 2020-04-16 19:28:22
【推荐阅读】微服务还能火多久?>>> 1.什么是socket    socket(套接字),简单来说是IP地址与端口(port)的组合,可以与远程主机的应用程序进行通信 。 通过IP地址可以确定一台主机,而通过端口则可以确定某一个应用程序。IP+端口则可以完全确定某台主机的某个应用。socket起源于UNIX,类似一种特殊文件,可以进行打开,关闭,读写操作。总而言之,有了socket就可以与网络上的主机进行通信。 2.TCP/UDP 协议    要进行网络通信,就要进行一定规则约束,TCP/UDP就是这样的协议,规定了通信的规则。    TCP是可靠的,面向连接的双向数据传输协议。 可靠是指数据不会重复,也不会丢失。每当发送方发送一个数据给接收方时,如果接收方接收到了该数据,则会发送确认信息给发送方表示”我已经收到该数据了,你可以发送下一条数据了“,收到确认信息后,发送方才会发送下一条数据。这样就可以确定信息的无误。双向传输指双方都可以作为发送方或接收方。    UDP是不可靠的,无连接的双向传输协议。UDP协议 只管发送数据,不会确认你有没有收到,只负责发,不负责确认,所以是不可靠的。UDP适用于传输视频之类的,视频就算丢失一两帧也不会有太大影响。   socket既可以是基于TCP,也可以是基于UDP的,根据需求选择即可。 3.一个简单的通信程序   

php中连接tcp服务的三种方式

送分小仙女□ 提交于 2020-04-16 18:22:45
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

php中连接tcp服务的三种方式

谁都会走 提交于 2020-04-16 17:01:23
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

php中连接tcp服务的三种方式

不羁岁月 提交于 2020-04-16 17:00:36
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

php中连接tcp服务的三种方式

╄→гoц情女王★ 提交于 2020-04-16 14:04:53
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

php中连接tcp服务的三种方式

自作多情 提交于 2020-04-16 11:38:18
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

php中连接tcp服务的三种方式

僤鯓⒐⒋嵵緔 提交于 2020-04-16 11:37:30
【推荐阅读】微服务还能火多久?>>> 首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现 <? php // 创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 设置阻塞模式 socket_set_block( $socket ); // 为套接字绑定ip和端口 socket_bind( $socket ,'127.0.0.1',3046 ); // 监听socket socket_listen( $socket ,4 ); while ( true ) { // 接收客户端请求 if (( $msgsocket = socket_accept( $socket )) !== false ) { // 读取请求内容 $buf = socket_read( $msgsocket , 8192 ); echo "Received msg: $buf \n" ; $str = "this is a service message" ; // 向连接的客户端发送数据 socket_write( $msgsocket , $str , strlen ( $str )); // 操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成 socket

CentOS系列教程(六)

醉酒当歌 提交于 2020-04-16 09:49:04
【推荐阅读】微服务还能火多久?>>> 本文主要内容是 Kubernetes 集群搭建前的实验环境准备。 以下是实验操作过程: 实验环境声明 Host OS :Windows 7 with SP1 64Bit Host CPU :AMD Ryzen 3900X Host RAM :Kingston DDR4 3200M 32GB Virtual Machine :VMware Workstation Pro 15 Board OS :CentOS 7 1804 64Bit vCPU :2 Core-Processor VMem:2 GB IP地址 主机名 集群角色 192.168.20.195 kubernetes-master master 192.168.20.196 kubernetes-node00 work 192.168.20.197 kubernetes-node01 work 查看OS环境 【master机器】 [master@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [master@localhost ~]$ uname -r 3.10.0-862.el7.x86_64 [master@localhost ~]$ hostnamectl status

如何回答TCP三次握手和四次挥手 含大量面试题

主宰稳场 提交于 2020-04-15 08:28:42
【推荐阅读】微服务还能火多久?>>> 少点代码,多点头发 三次握手建立链接,四次挥手断开链接。这个问题算非常经典的问题,也是面试官非常喜欢问的问题。 不夸张的说,龙叔在校招面试的时候 每一家公司 都问到过关于三次握手和四次挥手相关的问题,相信大家也都差不多被面试官各种怼。 这个问题的重要性,已经意识到。不说废话了,接下来就是听龙叔给你安排的明明白白。 先画个图,看下TCP的建立连接 和 断开连接的整体过程。 tcp三次握手四次挥手 看完这个图相信聪明的你在整体对三次握手和四次挥手有了一些基本把控。但是,里面的细节肯定是会有些生疏或者模糊的,接下来就一个一个问题的揭露本质。 在解释之前先看点基础知识做做铺垫。 TCP状态转移解释 状态 描述 CLOSED 阻塞或关闭状态,表示主机当前没有正在传输或者建立的链接 LISTEN 监听状态,表示服务器做好准备,等待建立传输链接 SYN RECV 收到第一次的传输请求,还未进行确认 SYN SENT 发送完第一个SYN报文,等待收到确认 ESTABLISHED 链接正常建立之后进入数据传输阶段 FIN WAIT1 主动发送第一个FIN报文之后进入该状态 FIN WAIT2 已经收到第一个FIN的确认信号,等待对方发送关闭请求 TIMED WAIT 完成双向链接关闭,等待分组消失 CLOSING 双方同时关闭请求,等待对方确认时 CLOSE