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./nReason: ($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 编程实例详解** 在Web开发中,Socket编程是一种基础且强大的技术,它允许服务器和客户端之间进行低级别的通信。PHP作为一款广泛使用的服务器端脚本语言,也支持Socket编程,使得开发者能够创建高效、...
6. **Socket编程**:PHP的socket函数允许开发者直接操作TCP/IP套接字,实现低级别的网络通信,比如创建服务器或客户端,处理TCP连接和UDP数据包。 7. **API接口调用**:PHP可以方便地与其他Web服务进行交互,通过...
这本教程旨在帮助初学者快速入门 PHP Socket 编程,并通过实例和讲解来加深理解。 #### 标签:PHP Socket 该标签明确了本教程的主题是关于 PHP 语言中的 Socket 编程技术。 #### 部分内容知识点详解: ##### ...
TCP/IP协议与Socket编程 网络编程的基础在于理解TCP/IP协议栈和Socket接口。PHP提供了强大的Socket函数库,允许开发者创建服务器端和客户端应用程序,实现数据在网络间的传输。通过Socket,PHP可以进行更底层的网络...
这个实例对于学习PHP Socket编程是非常有价值的,它能帮助开发者理解网络通信的基本原理,以及如何在PHP中实现这一过程。通过实践这个实例,你可以深入了解客户端和服务器如何交互,以及如何处理网络数据的发送和...
在实际的应用中,了解和掌握Socket编程可以极大地扩展PHP在网络通信方面的应用范围,为开发者提供更加灵活的编程手段。需要注意的是,Socket编程需要对网络协议有较为深入的理解,同时也涉及到网络编程的一些安全...
PHP作为一种广泛使用的服务器端脚本语言,提供了丰富的功能来处理网络通信,其中就包括socket编程。本篇将深入探讨PHP socket实例的相关知识点,帮助你更好地理解和运用这一技术。 **PHP Socket基本概念** PHP中的...
在本篇文章中,我们将深入探讨PHP中的Socket编程,并结合具体代码实例来解析其核心概念。 #### 二、Socket编程的基本原理 ##### 1. 基础概念 - **Socket**:在计算机网络中,Socket是一种用于网络通信的端点抽象...
通过分析和理解这段代码,你可以更深入地掌握PHP Socket编程。 总结,PHP Socket提供了一种底层的方式来处理网络通信,允许开发者直接构造和发送HTTP请求。无论是GET还是POST,都可以通过创建Socket、连接服务器、...
总之,PHP通过Socket接口与Java服务端进行通信是一个基础的网络编程示例,它展示了如何在不同语言之间进行数据交换。然而,在实际应用中,我们需要考虑更多关于安全性和稳定性的因素,以确保系统的可靠性和安全性。
- **创建 Socket**:使用 `Socket` 类实例化一个 Socket 对象。 - **连接 Socket**:使用 `connect` 方法进行连接。 - **读取数据**:使用事件监听器监听 `DATA` 事件来接收数据。 - **写入数据**:使用 `...
### PHP使用Socket编程知识点详解 #### 一、Socket编程简介 Socket编程是一种允许不同计算机间进行通信的方法。在互联网上,任何两台计算机之间如果想要互相通信,都需要通过Socket来进行数据传输。Socket提供了...
第10章 使用Socket编程 10.1 Socket基础 10.2 Socket功能函数 10.3 一个简单的TCP/IP服务器端和客户端实例讲解 10.4 本章小结 第11章 用户登录注册模块 11.1 数据库设计 11.2 最基本的注册模块 11.2.1 页面效果 ...
在IT领域,网络编程是构建分布式系统和互联网应用程序的基础。TCP(传输控制协议)作为...结合web服务的实例,我们可以更好地掌握如何通过socket实现用户登录和多级页面的处理,为开发更复杂的网络应用打下坚实基础。
SOCKET是网络编程中的一个接口,允许应用程序通过网络发送和接收数据。在PHP中,我们可以使用`socket_create`函数创建一个SOCKET,然后通过`socket_bind`绑定到特定的IP地址和端口,接着`socket_listen`监听连接请求...
Java中的Socket编程通过***.ServerSocket和***.Socket类实现。ServerSocket用于创建服务器端的Socket,它可以在指定端口上监听进来的Socket连接请求。Socket类则用于与客户端进行通信。 6. 输入输出处理: 在Java...
在PHP中,Socket编程是一种低级别的网络通信方式,它允许开发者直接通过套接字接口进行TCP/IP、UDP等网络通信。本篇文章将深入讲解如何在PHP环境中配置Socket并提供一个简单的服务器和客户端的示例。 ### 1. PHP ...
"PHP Socket UDP实时在线云消费机服务器端源码"是一个实例,它展示了如何利用PHP进行UDP协议的网络编程,以实现一个实时的在线云消费机服务器端。下面我们将深入探讨这个主题。 首先,`Socket`是计算机网络编程中的...
在现代网络开发中,使用PHP进行Socket编程是一种常见的需求,尤其在模拟HTTP请求方面。本文将深入探讨如何使用PHP的Socket编程来模拟HTTP的GET和POST请求。我们将从一个PHP类开始,该类能够构建HTTP请求并处理响应,...
本章主要讨论了网络编程的概述、数据包的捕获与分析、Socket编程、Winpcap编程以及电子邮件编程实例。 首先,网络编程概述介绍了网络编程的基本模式和语言。网络编程模式主要包括两种:客户机/服务器(C/S)模式和...