vb与php进行socket通信遇到的问题
vb代码和php代码进行socket通信时,发现php的socket_read函数总是取不到数据。查找了一些资料才发现,是VB socket 发送数据时必须要加上 chr(13)+chr(10),再就是不能缺少:DoEvents 才能在php端接收到数据。 VB代码 Private Sub Form_Load()
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="Horn"; $in.="first blood rn"; $out=''; if(!socket_write($socket,$in,strlen($in))) {echo "socket_write() failed: reason:".socket_strerror(socket_last_error($socket))."rn";} 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 connectn"; break; } else { //服务端传来的信息 echo "Buffer Data: " . $buffer . "<br>"; echo "Writing to Socket<br>"; } } echo "close socket....<br>"; socket_close($socket); echo "close ok n"; ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |