linux socket怎么取得客户端ip

 我来答
彭城程序诗人
推荐于2016-06-24 · 超过18用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:12.1万
展开全部
配置php并关联MySQL
一、首先把php的压缩包(这里以PHP5.2.8为例)解压到E:\PHP目录中,然后从其中找到一个叫php.ini-recommended的文件,把他更名为php.ini。
二、打开该文件,找到extension_dir = "./" ,将其改为 extension_dir = "E:\PHP\ext" ;
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉)
再找到 session.save_path = /tmp ,将其改为 session.save_path = E:\PHP\sessions 。
(注:此时你需要在E:\PHP目录下建立sessions文件夹,以存放session 。)
三、将修改喊陆拦好的php.ini文件拷贝至C:\windows目录下,将E:\PHP目录下的php5ts.dll文件拷贝到C:\windows\system32目录下。
四、打开c:\windows\php.ini文件
1、关联MySQL
查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dl
把上面3项前面的分号去掉,这样IIS启动时就可以加载这些dll了
2、 还有比较值得注意的是 short_open_tag .有一些php版本默认是Off的.
也就是说 php不能使用短标记,
由于短标记使用方便,并且很多程序也是用短短标记来写,如discuz等
如果不把 short_open_tag 改成On将出现的症状将很难判断是上面原因,这里建议修改
查找
short_open_tag = Off
改为
short_open_tag = On
3、 是否显示错误 display_errors
出于安全性考虑,display_errors 有些版本也默认为 Off.
就是说在调试时,如果php代码有误,就只出现一个空白页.而不会显示出错原因和出错行数.
这样调试起来将非常不便,建议根据自己需要修改
查找
display_errors = Off (注意不是 ; - display_errors = Off [Security])
改成
display_errors = On

4、 显示NOTICE敬告提示
第三步虽然打开了出错提示,但出错报告还受到 error_reporting 的控制.
php5默认关闭NOTICE敬告提示,如果是在本地调试,建议打开NOTICE敬告提示.
查找
error_reporting = E_ALL & ~E_NOTICE
改成
error_reporting = E_ALL
另外提示一下,在程序中也可以通过error_reporting()控制错误报告输出,具体怎么用大家参考下手册.
5、 register_globals
出于安全悉野性考虑它默认也是Off
当register_globals=Off的时候,下一个程序接收的时候应该用$_POST['user_name']和郑胡$_POST['user_pass'])
当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值.
6、 php5时差问题
时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
其中PRC:People's Republic of China 中华人民共和国,

7、测试php和mysql数据库的关联
在网站根目录下创建一个test.php 文件,内容为
<?php
$host = "localhost";
$user = "root";
$password = "123";//123改成你的mysql密码
$link=mysql_connect($host,$user,$password);
if(!$link) echo "<h1>失败!</h1>";
else echo "<h1>成功!</h1>";
mysql_close();
?>
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
匿名用户
2015-01-04
展开全部
socklen_t rsa_len = sizeof(struct sockaddr_in);
    struct sockaddr_in rsa;
   char *ip = NULL;
   int port = 0;
if(getpeername(fd, (struct sockaddr 基茄*)&rsa, &rsa_len) == 0)
{
               培销             ip = inet_ntoa(rsa.sin_addr);
     搏中察                   port = ntohs(rsa.sin_port);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oowood
2015-01-04 · TA获得超过1781个赞
知道大有可为答主
回答量:2196
采纳率:81%
帮助的人:1234万
展开全部
这个是网络编程,可以使用ICMP协议获取
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式