php socket通信问题??

我的问题就是遇到下面这种情况的时候产生的,求解救啊…

a,b聊天,是a 与 b聊天是吧?? socket通信,是 socket_server.php 与 socket_client.php 进行通信是吧?? 现在要求实现的是a,b 聊天。 就我的理解,a,b 都不可能扮演 socket_server.php 这个角色,
因为 socket_server.php 是用来开启 通信端口 并作为 服务端端口 实时接收或推送消息的。
那么问题来了: 若a , b 都是 client_server.php , 那么我学习的 socket编程 不是成了废物??
因为 socket通信 是 socket_server.php 与 client_server.php 的通信,
不是client_server.php 与 client_server.php 之间的通信(类似a,b之间的通信),
我真是好心塞,不知如何破解?? 还是我对socket通信理解错了?? 无论哪个,请大神纠正!最好是能够给个自己写的简单范例,不要网上那些一抓一大把的,
他们几乎都会让我 理解成现在这个问题所体现的那样...求教!

首先你不要带着对server和client这两个词的意思去理解socket中的server和client。

举个简单的例子,a和b就好像两个人在打电话。
你觉得a和b都不能扮演server这个角色,是因为你觉得他们都属于“客户端”,应该是client呀,电信公司才是server。
然而不能用这种方式去理解socket中的server和client。
你应该把server当做被打电话的人,它的任务就是等待别人打来。
而client当做打电话的人,它需要做的是拨打电话。
在两个人接通电话之后,他们的角色就平等了,他们直接都可以互相说话。

socket中server和client的角色其实就用于谁监听的关系,至于在聊天里扮演什么角色,是无关紧要的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注