ホームページ > バックエンド開発 > PHPチュートリアル > PHPとVBのSOCKET通信の問題、ぜひご覧ください。

PHPとVBのSOCKET通信の問題、ぜひご覧ください。

WBOY
リリース: 2016-06-23 14:24:05
オリジナル
1053 人が閲覧しました

この投稿は、u012436313 によって、2013-10-14 13:13:58 に最終編集されました。以下の場合にエラーが発生しますPHP ページに入る

<?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);?>
ログイン後にコピー






ディスカッション (解決策) に返信

@socket_connect @ をキャンセルして、警告メッセージがあるかどうかを確認してください

@socket_connect @ をキャンセルして、警告メッセージがあるかどうかを確認してください

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
ログイン後にコピー


一度接続されていると推定されます


Y

VB を理解していない場合は、自分の目で確認してください

VB 側の問題。彼は 1 つの接続のみを受け入れます。

VB の問題。彼は 1 つの接続のみを受け入れます。

VBとVB時間通信を使って一度接続すれば大丈夫です

でもなぜ接続数を増やすためにPHPとVB通信を使うのでしょうか?元の接続に基づいてデータを送信し続けることはできませんか?

VB->VB 作成、接続は 1 回のみ

PHP は更新ごとに 1 回作成されるため、接続が多くなります

VB->VB 作成、1 回のみ接続

PHP の更新ごとに一度作成するだけなので、接続がたくさんあります

ああ、この問題を解決する方法がわかりません

関数を作りたいだけです PHP がそれを送信した後、VB クライアント側はデータを受け取り、データを TXT に保存します

その他は非常に簡単です。この接続の問題は解決できません

ページを一度更新して、サーバーが再度実行するまで待機する必要があります。バックグラウンドで

VB->VB 作成、接続は 1 回のみ
PHP は更新ごとに 1 回作成するため、接続がたくさんあります

ああ、この問題を解決する方法がわかりません

私はただ、 PHP がデータを送信した後、VB クライアント側がデータを受信して​​ TXT に保存します
それ以外は非常に単純です。これだけでは解決できません
これがあなたの設計アーキテクチャです。あなたが解決したい現実の問題は何ですか?チャット?オフィス?

VB->VB 作成、接続は 1 回だけ

PHP は更新するたびに 1 回作成するため、接続がたくさんあります

この問題の解決方法がわかりません

PHP 用の関数を作りたいだけですVB クライアントに送信する データを受信して​​ TXT に保存する

他はすべて非常に単純です。この接続の問題は解決できません
VB は受信後に接続を閉じます

VB->VB 作成、接続のみ。
PHP は更新ごとに 1 回作成するので、接続がたくさんあります

ああ、この問題を解決する方法がわかりません

PHP が送信した後、VB クライアント側がデータを受信して​​関数を作成したいだけです。データをTXTに保存します

それ以外は非常に簡単です。この接続の問題だけでは解決できません

受信後に接続を閉じます



追加しましたが、まだ機能しません

自分でVBの本を読んでみてください。 接続を閉じればいいだけです
ソケットも閉じられています

自分でVBの本を見てください。ソケット全体を閉じているので、接続を閉じるべきです
ソケットが閉じられると、bind/accept も無効になります

今日もここにいます 関連する本を探していますが、見つかりません。

ソケット全体を閉じたように感じます。
ソケットが閉じられると、バインド/受け入れも無効になります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート