首先你不要带着对server和client这两个词的意思去理解socket中的server和client。
举个简单的例子,a和b就好像两个人在打电话。
你觉得a和b都不能扮演server这个角色,是因为你觉得他们都属于“客户端”,应该是client呀,电信公司才是server。
然而不能用这种方式去理解socket中的server和client。
你应该把server当做被打电话的人,它的任务就是等待别人打来。
而client当做打电话的人,它需要做的是拨打电话。
在两个人接通电话之后,他们的角色就平等了,他们直接都可以互相说话。
socket中server和client的角色其实就用于谁监听的关系,至于在聊天里扮演什么角色,是无关紧要的。