本文实例讲述了php socket通信(tcp/udp)方法。分享给大家供大家参考,具体如下:

注意

1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1

2.server.php后台跑起来的时候nohup php server.php > /var/tmp/a.log 2>&1 &

一: udp 方式

1) server.php

//error_reporting( E_ALL );

set_time_limit( 0 );

ob_implicit_flush();

$socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP );

if ( $socket === false ) {

echo "socket_create() failed:reason:" . socket_strerror( socket_last_error() ) . "\n";

}

$ok = socket_bind( $socket, '202.85.218.133', 11109 );

if ( $ok === false ) {

echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) );

}

while ( true ) {

$from = "";

$port = 0;

socket_recvfrom( $socket, $buf,1024, 0, $from, $port );

echo $buf;

usleep( 1000 );

}

?>

2) client.php

$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

$msg = 'hello';

$len = strlen($msg);

socket_sendto($sock, $msg, $len, 0, '202.85.218.133', 11109);

socket_close($sock);

?>

二: TCP 方式

1)server.php

//error_reporting( E_ALL );

set_time_limit( 0 );

ob_implicit_flush();

$socket = socket_create( AF_INET, SOCK_STREAM, SOL_TCP );

socket_bind( $socket, '192.168.2.143', 11109 );

socket_listen($socket);

$acpt=socket_accept($socket);

echo "Acpt!\n";

while ( $acpt ) {

$words=fgets(STDIN);

socket_write($acpt,$words);

$hear=socket_read($acpt,1024);

echo $hear;

if("bye\r\n"==$hear){

socket_shutdown($acpt);

break;

}

usleep( 1000 );

}

socket_close($socket)

?>

2) client.php

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

$con=socket_connect($socket,'192.168.2.143',11109);

if(!$con){socket_close($socket);exit;}

echo "Link\n";

while($con){

$hear=socket_read($socket,1024);

echo $hear;

$words=fgets(STDIN);

socket_write($socket,$words);

if($words=="bye\r\n"){break;}

}

socket_shutdown($socket);

socket_close($sock);

?>

希望本文所述对大家PHP程序设计有所帮助。

php udp发送和接收_php socket通信(tcp/udp)实例分析相关推荐

  1. ROS之socket通信---TCP/UDP

    1.UDP通信: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <s ...

  2. 25. Python语言 Web 开发 之 Socket 编程 · 第一章 UDP发送与接收数据

    UDP发送与接收数据 本章主题 关键词 前导: 计算机网络的发展及基础网络概念 两台电脑的通信 IP地址介绍及分类 IP地址与IP协议 Windows 和 Linux 查看网卡信息 IP地址分类 以太 ...

  3. Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程

    目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...

  4. 网络编程—网络基础概览、socket,TCP/UDP协议

    网络基础概览 socket概览 socket模块-TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...

  5. asp.core api 通过socket和服务器通信发送udp_python socket之TCP/UDP

    #coding=utf-8 # socket #网络中进程之间通信:网络层的"ip地址"可以唯一标识网络中的主机,而传输层的"协议+端口"可以唯一标识主机中的应 ...

  6. socket通信——通过Udp传输方式,将一段文字数据发送出去

    需求:通过Udp传输方式,将一段文字数据发送出去 定义一个Udp发送端 思路: 1.建立updsocket服务 2.提供数据,并将数据封装到数据包中. 3.通过socket服务的发送功能,将数据包发出 ...

  7. 使用DatagramSocket发送、接收数据(Socket之UDP套接字)

    2019独角兽企业重金招聘Python工程师标准>>> 创建一个DatagramSocket实例,并将该对象绑定到指定IP地址.指定端口. 通过上面三个构造器中的任意一个构造器即可创 ...

  8. php udp发送和接收_63、php利用原生socket创建udp服务

    1.案例函数汇总 2.案例 通过socket创建udp服务,获取对端的ip和port信息.并进行打印 2.1.udp服务源码 /** * Copyright(C) Iamasb * @project ...

  9. Socket套接字通信 TCP UDP详解(网络通信)

    文章目录 一 什么是套接字Socket 1.Socket简介 2.Socket的域(domain) 3.Socket主要类型(type) 4.Socket基本工作流程 二 创建套接字Socket 1. ...

最新文章

  1. 合肥将全力打造“城市超脑” 创建智慧城市典范
  2. 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
  3. 打开电话Android系统调用
  4. 一个哈工大计算机系的在读博士,勤思考爱分享的超级大佬!
  5. java queue源码_java源码解读--queue
  6. spring shell_Spring Shell项目发布
  7. Netty进行文件传输
  8. 若依集成knife4j实现swagger文档增强
  9. Linux高可用负载均衡 集群理解
  10. LeetCode_14_python_最长公共前缀
  11. CryptoJS 加解密类库的简单用法
  12. 视觉目标跟踪算法收集-实时更新
  13. 华为电脑Linux进pe,华为笔记本(HuaWei)如何进入BIOS设置U盘启动?
  14. 万字长文深度分析华为智能汽车战略
  15. 什么是台式机主板的“双通道”认知误区?
  16. Kernel:里的某某某;xxx
  17. 【深度学习】02-06-谈谈机器学习的原理(选修)-李宏毅老师2122深度学习课程笔记
  18. 对扫描出的图片进行纠偏
  19. python 两个word文档之间的相似度_如何用 word2vec 计算两个句子之间的相似度?
  20. Linux就业技术指导(四):企业CDN缓存加速原理解密

热门文章

  1. (Android 即时通讯) [悬赏],不管是谁发现一个漏洞奖励人民币1000元!
  2. 手机自动化测试:Appium源码分析之跟踪代码分析四 1
  3. 一本关于 女仆小说的构思,有能力写的看下
  4. JSP/Servlet实验室设备管理系统文档
  5. 面试结尾——你有什么问题?
  6. 荣发护肤护甲增强配方 Hair, Skin and Nails Plus 100 tablets
  7. hibernate关联关系(多对多)
  8. Linux学习之Vi编辑器常用命令
  9. JQuery解析JSON数据
  10. Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)