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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Il existe quatre principaux types d'erreur dans PHP: 1.Notice: Le moins, n'interrompra pas le programme, comme l'accès aux variables non définies; 2. AVERTISSEMENT: grave que d'avis, ne résiliera pas le programme, comme ne contenant aucun fichier; 3. FatalError: le plus grave, finira le programme, comme appeler aucune fonction; 4. PARSEERROR: ERREUR SYNTAXE, EVERA ENCORE LE PROGRAMME EST EXECULTÉ, comme oublier d'ajouter la balise de fin.

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Dans PHP, Password_Hash et Password_verify Les fonctions doivent être utilisées pour implémenter le hachage de mot de passe sécurisé, et MD5 ou SHA1 ne doit pas être utilisé. 1) Password_hash génère un hachage contenant des valeurs de sel pour améliorer la sécurité. 2) Password_verify Vérifiez le mot de passe et assurez-vous la sécurité en comparant les valeurs de hachage. 3) MD5 et SHA1 sont vulnérables et manquent de valeurs de sel, et ne conviennent pas à la sécurité de mot de passe moderne.

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

Les méthodes de demande HTTP incluent GET, Publier, Put and Delete, qui sont utilisées pour obtenir, soumettre, mettre à jour et supprimer respectivement les ressources respectivement. 1. La méthode GET est utilisée pour obtenir des ressources et convient aux opérations de lecture. 2. La méthode post-post est utilisée pour soumettre des données et est souvent utilisée pour créer de nouvelles ressources. 3. La méthode de put est utilisée pour mettre à jour les ressources et convient aux mises à jour complètes. 4. La méthode de suppression est utilisée pour supprimer les ressources et convient aux opérations de suppression.

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

PHP gère les téléchargements de fichiers via la variable de fichiers $ \ _. Les méthodes pour garantir la sécurité incluent: 1. Vérifiez les erreurs de téléchargement, 2. Vérifiez le type et la taille du fichier, 3. Empêchez l'écrasement des fichiers, 4. Déplacez les fichiers vers un emplacement de stockage permanent.

Dans PhPoop, self :: fait référence à la classe actuelle, Parent :: fait référence à la classe parent, static :: est utilisé pour la liaison statique tardive. 1. self :: est utilisé pour la méthode statique et les appels constants, mais ne prend pas en charge la liaison statique tardive. 2.Parent :: est utilisé pour que les sous-classes appellent les méthodes de classe parent, et les méthodes privées ne sont pas accessibles. 3.Static :: prend en charge la liaison statique tardive, adaptée à l'héritage et au polymorphisme, mais peut affecter la lisibilité du code.
