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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











There are four main error types in PHP: 1.Notice: the slightest, will not interrupt the program, such as accessing undefined variables; 2. Warning: serious than Notice, will not terminate the program, such as containing no files; 3. FatalError: the most serious, will terminate the program, such as calling no function; 4. ParseError: syntax error, will prevent the program from being executed, such as forgetting to add the end tag.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

HTTP request methods include GET, POST, PUT and DELETE, which are used to obtain, submit, update and delete resources respectively. 1. The GET method is used to obtain resources and is suitable for read operations. 2. The POST method is used to submit data and is often used to create new resources. 3. The PUT method is used to update resources and is suitable for complete updates. 4. The DELETE method is used to delete resources and is suitable for deletion operations.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

In PHPOOP, self:: refers to the current class, parent:: refers to the parent class, static:: is used for late static binding. 1.self:: is used for static method and constant calls, but does not support late static binding. 2.parent:: is used for subclasses to call parent class methods, and private methods cannot be accessed. 3.static:: supports late static binding, suitable for inheritance and polymorphism, but may affect the readability of the code.

PHP handles file uploads through the $\_FILES variable. The methods to ensure security include: 1. Check upload errors, 2. Verify file type and size, 3. Prevent file overwriting, 4. Move files to a permanent storage location.
