本帖最后由 ajian55 于 2012-8-9 18:39 编辑
回复 8# ac5474012
如果只在局域网用,第1种很简单。但是要在外网用的话,似乎会面临局域网穿透的问题,多年以前我没能解决,不知道有高手解决了没。
具体实现代码在帮助文档的“网络管理”部分,TCP、UDP的都有,局域网的网络条件不会差,所以这两种任意一种都能实现你的要求。UDP更简单。
这里给你贴个帮助文档里UDP通信的例子:;;这是一个 UDP 服务器
;;请先运行服务端
; 开始 UDP 服务
;==============================================
UDPStartup()
; 注册清理函数.
OnAutoItExitRegister("Cleanup")
; 绑定到一个套接字(SOCKET)
;==============================================
$socket = UDPBind("127.0.0.1", 65532)
If @error <> 0 Then Exit
While 1
$data = UDPRecv($socket, 50)
If $data <> "" Then
MsgBox(0, "UDP 数据", $data, 1)
EndIf
sleep(100)
WEnd
Func Cleanup()
UDPCloseSocket($socket)
UDPShutdown()
EndFunc
;;这是一个 UDP 客户端
;;请先运行服务端
; 开始 UDP 服务
;==============================================
UDPStartup()
; 注册清理函数.
OnAutoItExitRegister("Cleanup")
; 打开一个"套接字"("SOCKET")
;==============================================
$socket = UDPOpen("127.0.0.1", 65532)
If @error <> 0 Then Exit
$n=0
While 1
Sleep(2000)
$n = $n + 1
$status = UDPSend($socket, "消息 #" & $n)
If $status = 0 then
MsgBox(0, "错误", "当发送 UDP 消息时发生错误: " & @error)
Exit
EndIf
WEnd
Func Cleanup()
UDPCloseSocket($socket)
UDPShutdown()
EndFunc
post/get其实是网页值传递方式,具体请网上搜索。
也给你举个get的例子:
假如你的网站“http://localhost”的web根目录下有文件“get.php”,内容如下:<?php
error_reporting( 0 );
if($_GET['user']) {
$user= $_GET['user'];
$pwd= $_GET['pwd'];
//这里你可以将得到的数据存到数据库,或者写入文件,或者...随你怎么样都成
exit();
}
?>
然后,你只要访问“http://localhost/get.php?user=admin&pwd=12345”,之前的那个网页就能得到你从客户端传递过来的值,得到$user="admin",$pwd="12345"。至于怎样访问,你可以内嵌一个隐藏的ie对象、可以创一个xmlhttp对象、对于get其实InetGet 足矣。 |