vb与php进行socket通信遇到的问题
来源:互联网 发布:tensorflow实战视频 编辑:程序博客网 时间:2024/05/16 19:42
vb代码和php代码进行socket通信时,发现php的socket_read函数总是取不到数据。查找了一些资料才发现,是VB socket 发送数据时必须要加上 chr(13)+chr(10),再就是不能缺少:DoEvents 才能在php端接收到数据。
VB代码
Private Sub Form_Load()
Tcpserver.LocalPort = 8000
'Tcpserver.Bind
Tcpserver.Listen
Label1.Caption = "目前没有客户端连入!"
End Sub
Private Sub Form_unload(Cancel As Integer)
Tcpserver.Close
End Sub
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
If Tcpserver.State <> sckClosed Then Tcpserver.Close
Tcpserver.Accept requestID
Label1.Caption = "有客户端连入本机! IP:" & Tcpserver.RemoteHostIP
End Sub
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Tcpserver.GetData strData
Text1.Text = Text1.Text & strData & vbCrLf
Tcpserver.SendData "1服务器说:" + Chr(13) + Chr(10)
Tcpserver.SendData "2服务器说:" + Chr(13) + Chr(10)
'Tcpserver.SendData Chr(13) & Chr(10)
DoEvents
Tcpserver.Close
Tcpserver.Listen
End Sub
Private 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 If
End Sub
php代码
<?php
error_reporting(E_ALL);set_time_limit(0);
$port=8000;
$ip="192.168.1.110";
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
if($socket<0)
{echo "socket_create() failed: reason: ".socket_strerror(socket_last_error($socket));}
else
{echo "OK.<br>";}
echo "try to connect '$ip' port is '$port' ...<br>";
$result=socket_connect($socket,$ip,$port);
if($result < 0)
{echo "socket_connect()failed: reason:".socket_strerror(socket_last_error($socket))."\n";}
else
{echo "connect ok!<br>";}
$in="Ho\r\n";
$in.="first blood \r\n";
$out='';
if(!socket_write($socket,$in,strlen($in)))
{echo "socket_write() failed: reason:".socket_strerror(socket_last_error($socket))."\r\n";}
else
{echo "send message to server success!<br>";
echo "the content of send message is:<font color='red'>$in</font><br>";
}
while ($buffer = @socket_read($socket, 1024, PHP_NORMAL_READ))
{
if (preg_match("/not connect/",$buffer)) {
echo "don`t connect\n";
break;
} else {
//服务端传来的信息
echo "Buffer Data: " . $buffer . "<br>";
echo "Writing to Socket<br>";
}
}
echo "close socket....<br>";
socket_close($socket);
echo "close ok \n";
?>
- vb与php进行socket通信遇到的问题
- php之与python进行socket通信
- java与c/c++进行socket通信的一些问题
- java与c/c++进行socket通信的一些问题
- java与c/c++进行socket通信的一些问题
- fcgi4j与PHP-FPM通信遇到的问题
- socket通信的遇到的问题1
- socket通信中遇到的问题
- php 与 java socket通信问题
- java与C进行socket通信中的通信异常问题
- socket iOS 与java 后台进行socket通讯遇到的问题以及解决方法
- java和vb进行socket通信以及java与c/c++/oc 进行socket通信时汉字字符串编码问题解决
- C++与Java使用SOCKET通信遇到的一种阻塞问题的解决
- Php与Erlang的Socket通信
- vb.net的socket通信
- c++与android进行Socket通信问题探究
- C#与Java通过protobuf进行网络通信过程中遇到的问题
- java与c/c++进行socket通信的一些问题(1)
- 自己的sources.list
- JSP的一些html问题
- centos7 mysql安装
- UVALive
- Vim/Vi 常用命令
- vb与php进行socket通信遇到的问题
- Winfrom控件属性、布局
- 题目1029:魔咒词典
- 开源项目 —— 中国行政区划数据
- 【JavaSE学习笔记】IO流05_字符缓冲输出流BufferedWriter、字符缓冲输入流BufferedReader
- 【二分匹配入门专题1】J
- HTML 笔记
- 将一个N*N的矩阵逆转90度
- 常用的字符串处理库函数的C语言实现