`
aideehorn
  • 浏览: 261371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP socket 网络编程实例[转]

    博客分类:
  • php
阅读更多

一开始对socket不太理解,做起东西很模糊,后来做过定位请求的项目,对socket的理解更清楚了。
贴一下示例代码:

SERVER端


<?php
//确保在连接客户端时不会超时
set_time_limit (0 );

//设置IP和端口号
$address = '127.0.0.1' ;
$port = 2009 ;    //调试的时候,可以多换端口来测试程序!

//创建一个SOCKET
if (($sock = socket_create (AF_INET , SOCK_STREAM , SOL_TCP ))< 0 )
{
echo "socket_create() 失败的原因是:" . socket_strerror ($sock ). "<br>" ;
}

//绑定到socket端口
if (($ret = socket_bind ($sock , $address , $port ))< 0 )
{
echo "socket_bind() 失败的原因是:" . socket_strerror ($ret ). "<br>" ;
}

//开始监听
if (($ret = socket_listen ($sock , 4 ))< 0 )
{
echo "socket_listen() 失败的原因是:" . socket_strerror ($ret ). "<br>" ;
}

do {
if (($msgsock = socket_accept ($sock )) < 0 )
{
echo "socket_accept() failed: reason: " . socket_strerror ($msgsock ) . " \n " ;
break ;
}

//发到客户端
$msg = "<font color=red>欢迎进入服务器!</font><br>" ;
socket_write ($msgsock , $msg , strlen ($msg ));

echo "读取客户端发来的信息<br>" ;
$buf = socket_read ($msgsock , 8192 );


$talkback = "收到的信息: $buf <br>" ;
echo $talkback ;
/* if(socket_write($msgsock, $talkback, strlen($talkback))<0)
     {
      echo "socket_write() failed: reason: " . socket_strerror($msgsock) . "\n";
     }
     else
     {
      echo "发送成功";
     }*/


//echo $buf;
socket_close ($msgsock );
} while (true );

socket_close ($sock );
?>




CLIENT端


<?php
error_reporting (E_ALL );
set_time_limit (0 );
echo "<h2>TCP/IP Connection</h2> \n " ;

$service_port = 2009 ;
$address = "127.0.0.1" ;


$socket = socket_create (AF_INET , SOCK_STREAM , SOL_TCP );
if ($socket < 0 )
{
echo "socket_create() failed: reason: " . socket_strerror ($socket ) . " \n " ;
}
else
{
echo "OK. \n " ;
}

echo "试图连接 ' $address ' 端口 ' $service_port '...<br>" ;
$result = socket_connect ($socket , $address , $service_port );
if ($result < 0 )
{
echo "socket_connect() failed. \n Reason: ( $result ) " . socket_strerror ($result ) . " \n " ;
}
else
{
echo "连接OK<br>" ;
}

$in = "Hello \r\n " ;
$in .= "我是Chester \r\n " ;
$out = '' ;
$out1 = '' ;


if (! socket_write ($socket , $in , strlen ($in )))
{
echo "socket_write() failed: reason: " . socket_strerror ($socket ) . " \n " ;
}
else
{
echo "发送到服务器信息成功!<br>" ;
echo "发送的内容为:<font color='red'> $in </font> <br>" ;
}

while ($out = socket_read ($socket , 8192 ))
{
echo "接收服务器回传信息成功!<br>" ;
echo "接受的内容为:" , $out ;
}


echo "关闭SOCKET...<br>" ;
socket_close ($socket );
echo "关闭OK<br>" ;
?>
先运行server.php


再运行client.php

分享到:
评论

相关推荐

    php socket编程实例详解

    **PHP Socket 编程实例详解** 在Web开发中,Socket编程是一种基础且强大的技术,它允许服务器和客户端之间进行低级别的通信。PHP作为一款广泛使用的服务器端脚本语言,也支持Socket编程,使得开发者能够创建高效、...

    网络编程实例PHP文件

    6. **Socket编程**:PHP的socket函数允许开发者直接操作TCP/IP套接字,实现低级别的网络通信,比如创建服务器或客户端,处理TCP连接和UDP数据包。 7. **API接口调用**:PHP可以方便地与其他Web服务进行交互,通过...

    php_socket基础编程

    这本教程旨在帮助初学者快速入门 PHP Socket 编程,并通过实例和讲解来加深理解。 #### 标签:PHP Socket 该标签明确了本教程的主题是关于 PHP 语言中的 Socket 编程技术。 #### 部分内容知识点详解: ##### ...

    php网络编程典型模块与实例精讲

    TCP/IP协议与Socket编程 网络编程的基础在于理解TCP/IP协议栈和Socket接口。PHP提供了强大的Socket函数库,允许开发者创建服务器端和客户端应用程序,实现数据在网络间的传输。通过Socket,PHP可以进行更底层的网络...

    php_socket实例

    这个实例对于学习PHP Socket编程是非常有价值的,它能帮助开发者理解网络通信的基本原理,以及如何在PHP中实现这一过程。通过实践这个实例,你可以深入了解客户端和服务器如何交互,以及如何处理网络数据的发送和...

    深入php socket的讲解与实例分析

    在实际的应用中,了解和掌握Socket编程可以极大地扩展PHP在网络通信方面的应用范围,为开发者提供更加灵活的编程手段。需要注意的是,Socket编程需要对网络协议有较为深入的理解,同时也涉及到网络编程的一些安全...

    PHPsocket 实例

    PHP作为一种广泛使用的服务器端脚本语言,提供了丰富的功能来处理网络通信,其中就包括socket编程。本篇将深入探讨PHP socket实例的相关知识点,帮助你更好地理解和运用这一技术。 **PHP Socket基本概念** PHP中的...

    PHP和SOCKET

    在本篇文章中,我们将深入探讨PHP中的Socket编程,并结合具体代码实例来解析其核心概念。 #### 二、Socket编程的基本原理 ##### 1. 基础概念 - **Socket**:在计算机网络中,Socket是一种用于网络通信的端点抽象...

    PHP socket 构造POST与GET

    通过分析和理解这段代码,你可以更深入地掌握PHP Socket编程。 总结,PHP Socket提供了一种底层的方式来处理网络通信,允许开发者直接构造和发送HTTP请求。无论是GET还是POST,都可以通过创建Socket、连接服务器、...

    用php的socket跟flash的socket通信

    - **创建 Socket**:使用 `Socket` 类实例化一个 Socket 对象。 - **连接 Socket**:使用 `connect` 方法进行连接。 - **读取数据**:使用事件监听器监听 `DATA` 事件来接收数据。 - **写入数据**:使用 `...

    PHP恳求Socket接口测试实例_.docx

    总之,PHP通过Socket接口与Java服务端进行通信是一个基础的网络编程示例,它展示了如何在不同语言之间进行数据交换。然而,在实际应用中,我们需要考虑更多关于安全性和稳定性的因素,以确保系统的可靠性和安全性。

    php使用socket编程示例

    ### PHP使用Socket编程知识点详解 #### 一、Socket编程简介 Socket编程是一种允许不同计算机间进行通信的方法。在互联网上,任何两台计算机之间如果想要互相通信,都需要通过Socket来进行数据传输。Socket提供了...

    PHP利用AJAX实现SOCKET通讯

    SOCKET是网络编程中的一个接口,允许应用程序通过网络发送和接收数据。在PHP中,我们可以使用`socket_create`函数创建一个SOCKET,然后通过`socket_bind`绑定到特定的IP地址和端口,接着`socket_listen`监听连接请求...

    PHP网络编程技术与实践 源码

    第10章 使用Socket编程 10.1 Socket基础 10.2 Socket功能函数 10.3 一个简单的TCP/IP服务器端和客户端实例讲解 10.4 本章小结 第11章 用户登录注册模块 11.1 数据库设计 11.2 最基本的注册模块 11.2.1 页面效果 ...

    PHP请求Socket接口测试实例

    Java中的Socket编程通过***.ServerSocket和***.Socket类实现。ServerSocket用于创建服务器端的Socket,它可以在指定端口上监听进来的Socket连接请求。Socket类则用于与客户端进行通信。 6. 输入输出处理: 在Java...

    介绍基于TCP协议通过socket实现网络编程常用API

    在IT领域,网络编程是构建分布式系统和互联网应用程序的基础。TCP(传输控制协议)作为...结合web服务的实例,我们可以更好地掌握如何通过socket实现用户登录和多级页面的处理,为开发更复杂的网络应用打下坚实基础。

    基于PHP Socket配置以及实例的详细介绍

    在PHP中,Socket编程是一种低级别的网络通信方式,它允许开发者直接通过套接字接口进行TCP/IP、UDP等网络通信。本篇文章将深入讲解如何在PHP环境中配置Socket并提供一个简单的服务器和客户端的示例。 ### 1. PHP ...

    PHP Socket Udp实时在线云消费机服务器端源码.rar

    "PHP Socket UDP实时在线云消费机服务器端源码"是一个实例,它展示了如何利用PHP进行UDP协议的网络编程,以实现一个实时的在线云消费机服务器端。下面我们将深入探讨这个主题。 首先,`Socket`是计算机网络编程中的...

    使用PHP Socket 编程模拟Http post和get请求

    在现代网络开发中,使用PHP进行Socket编程是一种常见的需求,尤其在模拟HTTP请求方面。本文将深入探讨如何使用PHP的Socket编程来模拟HTTP的GET和POST请求。我们将从一个PHP类开始,该类能够构建HTTP请求并处理响应,...

    《计算机网络基础》第10章 网络编程.ppt

    本章主要讨论了网络编程的概述、数据包的捕获与分析、Socket编程、Winpcap编程以及电子邮件编程实例。 首先,网络编程概述介绍了网络编程的基本模式和语言。网络编程模式主要包括两种:客户机/服务器(C/S)模式和...

Global site tag (gtag.js) - Google Analytics