VB语言的桌面宠物代码 并且能够与PHP服务器交换数据 没有代码 麻烦帮忙找一下主要的 代码框架 非常感谢

解决方案 »

  1.   

    PHP服务器,没有这个概念,PHP是一种脚本解释器而已。VB可以和任何基于HTTP协议的服务器通讯,最简单是采用内置的 inet 控件。
    至于服务器端数据来自PHP Java还是ASP所生成,都无关紧要。
      

  2.   

    谢谢PHP来交换数据VB打算做为一个MINI客户端
      

  3.   

    你可以用 XMLHttpRequest 或者 Inet。
      

  4.   

    Web Service 应用,与PHP无关。
      

  5.   

    你要弄的东西工作主要分成两个部分
    1、服务器脚本部分
    2、客户端部分服务器脚本部分就是指你所说的PHP服务器里要编写的程序,
    客户端部分也就是指你所说的VB程序部分。所谓的交换数据
    是包含了发送与接收数据的功能,那么就来分一下,PHP脚本
    与VB程序是如何进行发送和接收的就可以了。因为PHP脚本是基于HTTP服务的,所以在客户端上使用XMLHTTP
    来处理发送和接收数据相对比较简单,以下我就先说明一下PHP的
    接收数据与发送数据的过程。在PHP中,使用<? echo '你要发送的字符串'; ?>这样就可以将你要发送的字符串发送到客户端了,如果是字节流,也可以这样发送<? echo "\x0\x0\x0\x0"; ?>这样就发送了4个字节为0的字节信息了,发送部分很简单,应该很好掌握。
    对于PHP中的就收客户端提交的URL参数可以这样处理<?
       //如果对方是以GET方式提交数据的,可以这样接收参数
       $UserID = @$_GET['UserID'];
       //如果对方是以POST方式提交数据的,可以这样接收参数
       $UserID = @$_POST['UserID'];
    ?>到这里,服务器端的PHP脚本发送与接收数据的方法应该比较清楚了,
    下面就说说客户端VB程序使用XMLHTTP对象进行数据发送与接收的方法。   '用 GET 的方法通过 URL 地址提交参数
       Dim XMLObject As Object
       Dim ReturnByte() As Byte
       Set XMLObject = CreateObject("Microsoft.XMLHTTP")
       '注意这里,“?”号后面就是参数内容,如果不是这种纯数字,最好把参数值的内容用URLEncode编码一下
       XMLObject.Open "GET", "http://www.xxx.com/your.php?UserID=111", False
       XMLObject.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
       XMLObject.send   '这里开始提交数据并等待服务器返回后才执行下一条语句
       '这里开始接收服务器返回的字节流信息到ReturnByte这个数组中
       ReturnByte = XMLObject.responseBody
       Set XMLObject = Nothing
       '如果内容是字符串,可以用StrConv函数转换一下就可以了,而且这种方法对包含有中文的内容特别有效
       Msgbox StrConv(ReturnByte,vbUnicode)
       '================================================================================
       '用 POST 的方法提交参数
       Dim XMLObject As Object
       Dim SendStr As String
       Dim ReturnByte() As Byte
       Set XMLObject = CreateObject("Msxml2.ServerXMLHTTP")
       SendStr = "UserID=111"   '这里把要提交的内容放到变量里
       '注意这里有点改动,首先是提交方式,从"GET"变为了"POST",还有后面"?"号的参数也放到了上面的变量里
       XMLObject.Open "POST", "http://www.xxx.com/your.php", False
       XMLObject.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
       XMLObject.setRequestHeader "CONTENT-LENGTH", Len(SendStr)  '这里表示要提交的数据长度
       XMLObject.send SendStr  '这里功能大致同上,但是注意,这里才是提交参数的地方
       '这里开始接收服务器返回的字节流信息到ReturnByte这个数组中
       ReturnByte = XMLObject.responseBody
       Set XMLObject = Nothing
       '如果内容是字符串,可以用StrConv函数转换一下就可以了,而且这种方法对包含有中文的内容特别有效
       MsgBox StrConv(ReturnByte, vbUnicode)
    看完了上面的例子,应该可以明白整个过程了
      

  6.   

    什么意思?你要在通讯的过程中加密?
    如果是这样也很好处理呀,如果你熟悉PHP,可以直接在PHP中写程序,
    如果你不熟悉PHP,也可以用VB写组件给PHP调用呀
    比如:$LoginBrand='这是要加密的文本';
    $MMEC = new com("ASPPlus.CodeingClass");
    $EnArray = $MMEC->vbStrToByte($LoginBrand);
    $EnArray = $MMEC->MMECEn($EnArray, 6, 69, 3657, 4789);
    $LoginBrand = base64_encode($EnArray);
    echo $LoginBrand;