草庐IT

m_remote_socket

全部标签

PHP:当客户端在写入时断开连接时,socket_write 挂起

当我在我的iOS应用程序中接收数据时(收到了一些数据,但不是全部)我故意退出该应用程序并且socket_write卡在服务器上。相关代码如下:error_log("startwrite");$sent=socket_write($client,$string,$length);error_log("endwrite");我在错误日志中收到了“开始写入”消息,但仅此而已,它一直挂起,直到我重新启动php程序。我尝试设置超时,但后来我尝试上传一个大文件,看起来它在上传完成之前就超时了。我认为超时是一段时间不活动,而不是客户端连接的总时间。无论如何,我们将不胜感激。我假设如果套接字断开连接,

php - 使用 Ajax 或 Socket 的推拉技术

我有一个网站需要像Facebook一样实时向在线客户端发送通知,经过更多的谷歌搜索,我发现了很多关于推拉技术的文档。我从这个文档中找到了使用Ajax或套接字实现它们的方法。我需要知道什么是最适合我的情况,以及如何使用javascript或jquery和php对其进行编码。 最佳答案 在不详细了解您的案例的情况下,我不能说什么对您的案例最好。在大多数情况下,让客户端每隔一两秒检查一次服务器就足够了,询问是否发生了新的事情。大多数时候我更喜欢它而不是套接字,因为它可以在每个Web服务器上运行而无需任何配置更改,并且可以在任何支持AJAX

javascript - Laravel Homestead,Socket.io 连接被拒绝

我正在使用laravel事件广播、socket.io、node.js和redis将通知实时传递到客户端。代码相当简单,当我向服务器上的“/”发出一个获取请求时,一个事件将被触发,一些数据将被广播到所有在channel上监听这个事件的浏览器(客户端)(测试-channel)。Routes.php内容:Route::get('/','uses'=>function(){Event::fire(newApp\Events\UserHasRegistered('DummyData'));returnview('test');}]);UserHasRegistered事件类:classUserH

php - stream_socket_client 通过 http 代理

我正在研究APNS(Apple推送通知服务)。我正在按照教程所说的那样做:$ctx=stream_context_create();stream_context_set_option($ctx,'ssl','local_cert','ck.pem');stream_context_set_option($ctx,'ssl','passphrase',$passphrase);$fp=stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195',$err,$errstr,60,STREAM_CLIENT_CONNECT|

php - REMOTE_ADDR 是否可能为空?

据我所知,网络服务器(Apache/Nginx)根据请求用户代理的声明位置提供($_SERVER['REMOTE_ADDR'])。所以我知道他们可能在撒谎,但是这个值有可能是空白的吗?网络接口(interface)或网络服务器甚至会接受没有正确形成IP的请求吗?http://php.net/manual/en/reserved.variables.server.php 最佳答案 理论上是可以的,这取决于http服务器或者至少是对应的PHPSAPI。在实践中,除了CLISAPI之外,我还没有遇到过这种情况。编辑:对于Apache,这似

php - socket_select 立即返回 false 但没有错误代码

我正在玩socket_select,但是在一个主机上,这个函数做了一些奇怪的事情:立即返回,而不是等待5秒返回false,表示有错误但是socket_last_error()返回0(成功)。此服务器的phpinfo():http://jsfiddle.net/Lmrfe/embedded/result/$server=socket_create(AF_UNIX,SOCK_STREAM,0);$r=socket_bind($server,'/some/file/somewhere');$r=socket_listen($server);//noneoftheabovesocket_*re

php - 为什么 Laravel 5 从服务器对象中删除 REMOTE_ADDR?

我希望有人以前看过这个,我一直在谷歌搜索但一无所获。我正在尝试做一些非常简单的事情,从$_SERVER对象中检索REMOTE_ADDR但它只是等同于true(1)。我确信这是与laravel相关的配置问题,但不知道从哪里开始挖掘。$_SERVER的内容如下(显然我已经删除了潜在的敏感路径等)USER='[REMOVED]'HOME='[REMOVED]'FCGI_ROLE='RESPONDER'REDIRECT_HANDLER='php5-fcgi'REDIRECT_STATUS='200'HTTP_HOST='[REMOVED]'HTTP_CONNECTION='keep-alive

php - stream_socket_enable_crypto() : Peer certificate CN =`cs723.mojohost.com' did not match expected CN =`smtp.sendgrid.net'

我们正在尝试向新成员(member)发送自动回复邮件。我们在同一台服务器上的其他站点上使用相同的配置,没有问题。发送电子邮件后,返回以下错误:stream_socket_enable_crypto():PeercertificateCN=cs723.mojohost.comdidnotmatchexpectedCN=smtp.sendgrid.nethttps://gyazo.com/ffb0cb7645d51ed21ecc863f1e3196b2我们使用Laravel连接到:smtp.sendgrid.net网站端口-587使用TLS加密我们尝试了以下但没有成功:端口选项25和252

php - $_SERVER ["REMOTE_PORT"] 在确定用户设备方面有多可靠?

我正在创建一个匿名在线投票,我可以通过使用浏览器指纹来消除一些重复的投票。但我仍然担心如果用户更改他的浏览器并再次投票会怎样。所以我试图找出一个有效的设备指纹来解决这个问题。显然ip不是一个选项,因为我的目标用户可能在学校与同学共享同一个ip,或者住在与室友共享ip的公寓里。我正在试验$_SERVER["REMOTE_PORT"]并发现$_SERVER["REMOTE_PORT"]在同一设备上会保持在一个相对一致的范围内否无论我使用什么浏览器,它总是在增加。例如,在Mac1上,无论我使用什么浏览器,我的端口在10分钟的时间间隔内都在(58100,58200)范围内,同样在Mac2上,范

PHP $_SERVER ['REMOTE_HOST' ] 返回::1

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:should$ip=$_SERVER['REMOTE_ADDR'];return::1onamamplocalhost?我正在尝试用PHP获取网站访问者的IP地址。我期待$_SERVER['REMOTE_HOST']返回类似127.0.0.1的内容,但它返回了::1。