最近在用PHP做一个服务端和一个客户端,在快要完工的时候,出现了一个重大问题----

当在客户端手动输入IP和端口的时候,一按连接,OK,连接成功,嘻嘻,就在我自以为大功告成的时候,来了个晴天霹雳,一按其它按钮,连接就断开了!

我慌了,以为代码出现了逻辑问题,就不断地修改,但无论怎么改,问题还是没法解决,最后决定向一位大神师兄请教,通过交流,师兄就说知道我的问题

是什么了----php不能操作图形界面,你要用js去发送!

哎呀,我的妈呀,我都快完成了,你叫我改用js,并且我都没学过这东西。

我:不是喔,我之前那个可以的。

师兄:不会吧,当POST的时候,页面就会刷新,相当于你重新打开了一次页面,http是无状态的。

然后,为了证明我之前做的那个是可以的,我再次打开演示给他看,在演示过程中,我才发现,那个之所以能成功,是因为它的IP和端口都设死了啊!就算

页面刷新了,IP和端口也都没变!所以就给人一个持续连接的假状!终于发现问题的本质了!

既然发现了问题所在,接下来就是解决问题了!

师兄:你可以把连接的页面和发送的页面分开写啊,或者用iframe,这样就不会刷新了。

    我试了下,iframe好像也不行,你再多google一下吧,另外刚刚想到你可以尝试下写一个静态变量,用来保存ip。

师兄提供了很多方法,但还是没能把问题解决。。。

就在我快要放弃的时候,突然想起了session,我可以用session来记录浏览的user啊!然后就百度去了~~最后确实,问题解决了!

感想:通过这个问题,我终于明白,与人交流的重要性,人与人在交流中,能够碰撞出更多思想的火花,当然这是在自己认真思考的前提下的!

   本来师兄提出页面会刷新的时候,我还是不以为意的,当时师兄也没觉得那个是本质问题,经过思考,验证才最终确定。如果当初我没有

    去问,我大概还在那里修改代码的逻辑问题。。。而问题的本质就永远被忽视了。。。

关于PHP的一个坑爹问题(页面刷新)的更多相关文章

  1. VUE的一个数据绑定与页面刷新相关的bug

    1.场景: N层嵌套的循环查询业务场景,框架是vue.其中在最后一层查完之后,还需要查其中每一项的两个属性,类型都是列表.查完之后将其赋值给一个变量用于页面展示.代码如下: (1)异常代码: getS ...

  2. 使用一个HttpModule拦截Http请求,来检测页面刷新(F5或正常的请求)

    在Web Application中,有个问题就是:“我怎么来判断一个http请求到底是通过按F5刷新的请求还是正常的提交请求?” 相信了解ASP.NET的人知道我在说什么,会有同感,而且这其实不是一个 ...

  3. 用js判断页面刷新或关闭的方法

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于on ...

  4. js中页面刷新和页面跳转的方法总结

    .js中cookie的基本用法简介 2009-12-15 js中页面刷新和页面跳转的方法总结 文章分类:Web前端 关键字: javascript js中页面刷新和页面跳转的方法总结 1.histor ...

  5. ASP.Net中防止页面刷新重复提交的几种方法

    [摘要] 目前很多网站都要提交页面插入或更新数据库,比如留言本,一个用户提交留言后,如果按F5,就会重新提交一遍留言,导致数据库出现两条一模一样的留言,本文介绍了几种防止页面刷新,导致重复提交数据的方 ...

  6. 领导让我重新做一个微信H5页面!

    leader:我们需要做一个微信H5页面,效果如图,功能如描述,时间越快越好. 需求是不是很简单呢?2015-11-24 12:44:00文末有最新更新 背景描述 前几天微信转发相关项目开发后,这是第 ...

  7. JQuery实现页面刷新滚动条自动滚动到特定位置

    var cotentOffset = $('#6f').offset(); $('.info_box').animate({ scrollLeft: cotentOffset.left }, ); 原 ...

  8. sharepoint 2010 页面刷新时滚动条位置保持不变 Controlling scrollbar position on postback

    sharepoint 2010 页面刷新时滚动条位置保持不变 Controlling scrollbar position on postback在sharepoint 2010中,如果当前页面的篇幅 ...

  9. js页面刷新之实现定时刷新(定时器,meta)

    测试页面的代码见上一篇博客 接下来进入正题-定时不断刷新页面的方法: 1.看到定时,很容易想到js的定时器: //第一种方法 //由于我们已经有了一个定时器,所以只要在定时器test中加入一句刷新页面 ...

随机推荐

  1. 浅谈java使用指定字符集编码,以及常见的字符集

    问题的引入:在InputStreamReader(OutputStreamWriter)的构造方法中,有指定字符集编码,那么什么是字符集?有哪些常用的字符集?怎么用字符集进行编码? 一   什么是字符 ...

  2. PHP内核研究

    深入理解PHP内核:Think In PHP Internals(TIPI)是一个开源项目 ,分享PHP内部实现的细节,如内核,扩展等.官网见:http://www.php-internals.com ...

  3. 机器学习(九)—FP-growth算法

    本来老师是想让我学Hadoop的,也装了Ubuntu,配置了Hadoop,一时间却不知从何学起,加之自己还是想先看点自己喜欢的算法,学习Hadoop也就暂且搁置了,不过还是想问一下园子里的朋友有什么学 ...

  4. BZOJ - 2460 :元素 (贪心&线性基)

    相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强,但物极必反:有时,人们 ...

  5. verilog 2001中的一些新语法

    比较有用的:1,generate语句,但需注意,generate-for中变量范围是已知的确定值, generate-case,generate-if语句中变量都必须是固定的, generate必须跟 ...

  6. 主窗体上按钮jig画图时,CAD得不到焦点的问题

    主窗体上按钮jig画图时,CAD得不到焦点的问题    按钮不要用 Click 事件,用 MouseDown 事件, 可完美解决该问题 1.试过CAD窗体获得焦点,不顶用 2.试用用命令行去执行,可行 ...

  7. hbase使用中需要注意一些问题

    接触hbase已经两年之久,但是真正的在实际项目中使用却只有半年的时间,使用过程中,一方面在在为hbase强大的性能兴奋之余,另一方面却也给我和我的团队造成了很多的麻烦,起初在使用我的水平也就停留在会 ...

  8. org.apache.hadoop.security.AccessControlException: Permissiondenied: user=liuyingping, access=WRITE,inode="/user/root/output":root:supergroup:drwxr-xr-x

    原因: 权限问题.用户liuyingping没有访问hdfs下文件的权限. 参考:HDFS客户端的权限错误:Permission denied 解决方案(推荐): 在系统的环境变量添加HADOOP_U ...

  9. thinkphp中的dump方法

    感受一下,调试. 1.print_r() 2.var_dump() 3.再看看thinkphp中的dump方法 清晰多了!真实够傻的,今天才发现有这么好的调试方法.

  10. 小程序mina框架与配置

    小程序是采用MINA框架 <!--demo.wxml--> <view> Hello {{name}}</view> <button bindtap=&quo ...