PHP 和 VB SOCKET 通信问题 请各位看下
<?php$server = '127.0.0.1';$port = 8888;$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);if($socket < 0) { echo socket_strerror($socket);} else { echo '成功<br />';}$result = @socket_connect($socket, $server, $port);$buf = '你好啊我';$len = strlen($buf);socket_send($socket, $buf, $len, 0);socket_close($socket);?>
Option ExplicitPrivate Sub Form_Load() tcpServer.LocalPort = 8888 tcpServer.Listen lblstate.Caption = "目前没有客户端连入!"End SubPrivate Sub tcpServer_ConnectionRequest(ByVal requestID As Long) If tcpServer.State <> sckClosed Then tcpServer.Close tcpServer.Accept requestID lblstate.Caption = "有客户端连入本机! IP:" & tcpServer.RemoteHostIPEnd SubPrivate Sub tcpServer_DataArrival(ByVal bytesTotal As Long) Dim strData As String tcpServer.GetData strData txtOutput.Text = strData & vbCrLf & txtOutput.TextEnd SubPrivate Sub txtSendData_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If tcpServer.State = sckConnected Then tcpServer.SendData "服务器说:" & txtSendData.Text txtOutput.Text = "服务器说" & txtSendData.Text & vbCrLf & txtOutput.Text txtSendData.Text = "" Else MsgBox "目前没有连接的客户端!" End If End IfEnd Sub
第一次正常 但是 第二次刷新 PHP页面的时候出现 如下错误
Warning: socket_send() [function.socket-send]: unable to write to socket [0]: 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 in E:\wamp\www\test\test3.php on line 19
回复讨论(解决方案)
把 @socket_connect 取消@看看是否有警告信息
把 @socket_connect 取消@看看是否有警告信息
Warning: socket_connect() [function.socket-connect]: unable to connect [0]: 由于目标计算机积极拒绝,无法连接。 in E:\wamp\www\test\test3.php on line 14Warning: socket_send() [function.socket-send]: unable to write to socket [0]: 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 in E:\wamp\www\test\test3.php on line 19
估计是已经连接过一次了
Y
VB那边应该有关闭连接的动作,不懂VB,你自己看看
VB那边的问题。他只接受一个连接。
VB那边的问题。他只接受一个连接。
我用VB 和 VB 时间通信 连接一次就可以了
但是为什么用PHP 和 VB 通信 为什么会增多连接? 不能原连接基础上 继续发送数据吗
VB->VB creat, connect只有一次
PHP 每刷新就creat一次,所以是很多个连接
VB->VB creat, connect只有一次
PHP 每刷新就creat一次,所以是很多个连接
唉不知道这个问题如何解决
我只是想做个功能 PHP 发送后 VB 的客户端方面接收数据 并把数据保存到 TXT 中
其他都很简单 就这个连接麻烦 解决不了
刷新页面不行吧,你刷新一次等一服务器重新执行一次,应该是在后台保持长连接的
VB->VB creat, connect只有一次
PHP 每刷新就creat一次,所以是很多个连接
唉不知道这个问题如何解决
我只是想做个功能 PHP 发送后 VB 的客户端方面接收数据 并把数据保存到 TXT 中
其他都很简单 就这个连接麻烦 解决不了
这是你的设计架构。你要解决的现实问题是什么?聊天?办公?
VB->VB creat, connect只有一次
PHP 每刷新就creat一次,所以是很多个连接
唉不知道这个问题如何解决
我只是想做个功能 PHP 发送后 VB 的客户端方面接收数据 并把数据保存到 TXT 中
其他都很简单 就这个连接麻烦 解决不了
VB接收完就close连接
VB->VB creat, connect只有一次
PHP 每刷新就creat一次,所以是很多个连接
唉不知道这个问题如何解决
我只是想做个功能 PHP 发送后 VB 的客户端方面接收数据 并把数据保存到 TXT 中
其他都很简单 就这个连接麻烦 解决不了
VB接收完就close连接
Private Sub Form_Load() winsock1.LocalPort = 8888 winsock1.ListenEnd SubPrivate Sub winsock1_ConnectionRequest(ByVal requestID As Long) If winsock1.State <> sckClosed Then winsock1.Close winsock1.Accept requestID Label1.Caption = "有客户端接入本机!IP:为" & winsock1.RemoteHostIPEnd SubPrivate Sub winsock1_DataArrival(ByVal bytesTotal As Long) Dim strData As String winsock1.GetData strData Text1.Text = strData winsock1.CloseEnd Sub
我已经增加了 但是还是不行
你自己看看VB书吧,感觉你是把整个socket都close了,应该只是关闭连接
socket关闭了,就是连bind/accept都废了
你自己看看VB书吧,感觉你是把整个socket都close了,应该只是关闭连接
socket关闭了,就是连bind/accept都废了
今天也在找相关书籍 但是一直没找到 唉
你自己看看VB书吧,感觉你是把整个socket都close了,应该只是关闭连接
socket关闭了,就是连bind/accept都废了
我的问题解决了
在 winsock1.Close 下面加了 重新监听 就行了winsock1.Listen

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长
