能力值:
( LV5,RANK:70 )
|
-
-
2 楼
既然 你已经 abc.php?=123456789 了.那直接从页面返回就可以了.不需要再从端口去收
还是你说的是1 去访问 2的abc.php?=123456789 ; 2再把东西返回给3?如果是这样用PHP 的SOCK
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
<?php
//abc.php
//传递值get: "abc.php?data=123456789"
if(!isset($_GET['data'])) //如果未接收到传过来的数据(123456789)
{
echo "no input!"; //显示没有输入
exit; //退出
}
$data=$_GET['data']; //获取传过来的数据(123456789)
$return_data="";
// 设置一些基本的变量
$service_port = 8888;
$address = '123.123.123.123';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //建立socket连接(TCP)
if ($socket === false) { //如果建立socket失败,显示错误信息,退出
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
$result = socket_connect($socket, $address, $service_port); //socket连接'123.123.123.123',端口8888
if($result === false) { //连接失败,显示错误信息,退出
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
}
socket_write($socket, $data, strlen($data)); //socket发送字符串"123456789"到服务器123.123.123.123
echo "OK\n"; //发送完成,输出"OK"到网页,根据网页前两个字符是不是"OK",可以确定是不是执行成功
//循环读取"123.123.123.123"计算后的结果,一次读取大小是8192字节
while ($buf = socket_read($socket, 8192)) {
$return_data .= $buf;
}
socket_close($socket); //关闭socket连接
echo $return_data; //输出返回值到网页,加上前边的输出"OK\n",返回值就是 [OK][换行][结果]
?>
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
1 去访问 2的abc.php?=123456789 ; 2通过socket连接某IP某端口,得到数据后返回给1
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
[QUOTE=举剑问天;1179959]<?php
//abc.php
//传递值get: "abc.php?data=123456789"
if(!isset($_GET['data'])) //如果未接收到传过来的数据(123456789)
{
echo "no input!"; //显示没有输入...[/QUOTE]
十分感谢您的回复,让我看到了希望
我买了个虚拟主机,测试后发现提示 HTTP 500 内部服务器错误
是哪里写的不对吗
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我估计是虚拟主机禁用了socket相关函数造成的?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
发现成功了,在虚拟机里测试成功
原来就是虚拟主机禁用了socket相关函数.
怎么办呢,不用socket相关函数是不是实现不了了?
万能的看雪大神们,求方法
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
查了查,可以采用get 或 PHP吗?
我可以Delphi模拟个IIS的80端口,然后PHP里面Post 或 Get 我的服务器123.123.123.123
后面带上数据(?=1234567890)
然后我Delphi过滤,得到后,在返回之
就没用到socket相关函数了?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
老实讲,你的需求有点乱,听不明白
人家已经把 php的代码都给出来了,你还没有答案?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
-------------------------------------------------------------------------------------
你这样的话php又需要CURL扩展了
是一样的
php的最强大之处就包括扩展性,不用的话,还不如用ajax实现上述功能
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
1.如果不行,可以联系主机商协调
2.实在不行,保存以下代码到文件,传到虚拟空间:
//info.php
<?php phpinfo(); ?>
把执行结果贴出来,我帮你想办法绕过
3.最后如果还没办法,我可以帮你做静态实现,在delphi使用browser控件,提交后通过ajax访问,但实质还是跟直接和123.123.123.123通信一样。使用web就没意义。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
To 举剑问天 十分感谢你,我换了个虚拟主机搞定了,是美国的虚拟主机.之前那个是国内的不行.
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
怎么才能对你 致谢 +1 呢
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
不好意思,我点了致谢你的按钮,你获取致谢+1了。。。。。
就没我的事了
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
啊,我想谢你的..我这怎么不可以对你点致谢呢..
|
|
|