PHP socket 你们都用在什么场景上?

2018-02-19 15:41:24 +08:00
 solaro

好奇。。。从未用过

5911 次点击
所在节点    PHP
23 条回复
UnixCRoot
2018-02-19 16:01:56 +08:00
端口数据转发 构造自定义数据包
shiny
2018-02-19 16:04:32 +08:00
以前见得多的是 smtp 发信,以及 DDoS 木马。
minbaby
2018-02-19 16:04:33 +08:00
github 上这个东西其实蛮多的,只不过国内的都觉得 php 的 socket 不适合生产环境,所以各方面都挺少的。
国内的话 swoole (c 扩展) 和 workerman ( PHPsocket )。

参考:

https://github.com/amphp

https://github.com/reactphp

https://github.com/hoaproject


------

多关注过一些类库或者项目依赖的,会发现新世界的。╭(╯^╰)╮
jtsai
2018-02-19 16:06:18 +08:00
两台设备没有 http 服务器做通信的时候就用。php 很尴尬,自带 http
zjsxwc
2018-02-19 16:06:18 +08:00
websocket 和 js 通讯吧
dobelee
2018-02-19 16:24:32 +08:00
看看 swoole 的應用場景就比較清晰了。
xoxo419
2018-02-19 17:15:16 +08:00
workerman
Heimo
2018-02-19 18:20:22 +08:00
@zjsxwc websocket 和 socket 的名字就像 java 和 javascript。不是一个概念
jacy
2018-02-19 19:08:40 +08:00
模拟 srun3000
components
2018-02-19 20:13:26 +08:00
https://github.com/weiboad/kafka-php
https://github.com/nrk/predis
期待 php 的 socket 更加强大,生态更加完善
components
2018-02-19 20:32:10 +08:00
zjsxwc
2018-02-19 20:37:32 +08:00
@Heimo

websocket 和 socket 的名字是 groovy 与 jvm 的关系
MeteorCat
2018-02-19 23:58:39 +08:00
以前页游后台(没错就是网页游戏,渣渣辉这种)使用比较多,以前都是 PHP 用 socket 请求游戏服务端获取数据或者更新游戏服务端配置
sagaxu
2018-02-20 12:16:25 +08:00
@minbaby php socket 为何不适合生产环境?
@MeteorCat 页游各种技术栈后台都有,有一套 erlang 代码被改出很多个游戏来
@jtsai http 协议的解析开销比较大
minbaby
2018-02-20 13:33:27 +08:00
@sagaxu 你可以认为 php 这门语言出现就是为了搞定 web,后来发展起来之后才出现了 socket 绑定,也仅仅是有 socket 绑定。

说一些劣势:
一是没有成熟的 socket 框架(说的是之前,现在还是蛮多的)
二是搞 php 的对网络编程的熟悉人比较少
三是 php 对于多进程、线程支持也不好,要不是最近 ev/uv 火起来的话,怎么使用 socket ?
四是类库参差不齐啊,鬼知道有没有内存泄漏,在 web 上很难察觉,毕竟是不用常驻内存。

这种东西能说一大堆。

给人的直观感觉就是不敢用啊,还不是上 python、ruby、go、java。。。放心。


--------
说个小故事,之前用 php 写一个推送的 deamon 程序,发现内存泄漏非常严重,排查了很久发现是 个推(不是打广告啊。。。)使用了一个 pb 类库,但是使用姿势有问题导致的。跟他们开发沟通。。。他们似乎。。不在意?不理解? 反正就没有后续了。
lookas2001
2018-02-20 14:28:53 +08:00
pocketmine
Minecraft Bedrock 非官方服务器
MeteorCat
2018-02-20 18:36:54 +08:00
@sagaxu 不是游戏服务端,说的是游戏后台
javq
2018-02-20 21:17:02 +08:00
聊天室,消息推送,代&理,数据转发,游戏服务器等等
lslqtz
2018-02-20 21:23:47 +08:00
发 UDP 用过,其它的几乎不想用。
因为会有等待时间。。
异步当我没说
linxl
2018-02-22 09:48:51 +08:00
做过消息推送.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431229

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX