关于Socket和ServerSocket
现在有两个疑问:1.一个服务器端口只能接一个客户端吗?
2.一个服务端怎么同时向不同客户端发送消息?
------解决方案--------------------不是呀 一个服务器端口可以有多个客户端访问 第二个问题 就要看你发送数据的协议是怎么制定的了
------解决方案--------------------你这两个问题可以说是同一个问题,一个服务端可以向多个客服端发送数据 ,只要客服端 指点发送的ip地址和端口 是服务端的ip地址和其监听端口就行
------解决方案--------------------其实这个的原理可以用移动公司或者联通公司的职能来解释
用户是客户端
公司是服务端
客服是服务端根据客户端访问创建的,会记录访问它的客户端信息 ,保持通信
你想想你给客户打电话就知道了 随机分配的 每一次的客服 可能都不一样
基本原理就是这个样子!!!
------解决方案--------------------1.一个服务器端口只能接一个客户端吗?
不是,能同时接入多个客户端;
2、一个服务端怎么同时向不同客户端发送消息?
利用多线程
3、给出段小代码,一般写Socket程序是以这样的形式:
Socket client = null;
while(true){
client = server.accept();
...
这段代码里有两个基本概念LZ要搞清楚
1、server.accept(); 这里是阻塞的,也就是说在server端没接收到任何client时是在这一直等待的。
2、Socket client 这只是声明了一个变量,说白点就是一个指向一个地址的标签。当再次
client = server.accept();的时候,client 又指向了新地址。
如果LZ想一个服务端同时向不同客户端发送消息,那LZ起码要了解一下多线程、IO。
其实Socket的例子网上很多,建议谷歌和百度