社区
Java SE
帖子详情
java socket
xjpshh
2009-12-02 01:36:23
服务器要处理多线程问题,为每个请求连接的客服端创建一个线程,现在的问题是服务器收到一个客户端的信息后如何判断是发送给哪个客户端的信息,同时如何发送,好像服务器不能主动发送信息给客服端,所以头疼了!有些人介绍时候可以让客户端也实现服务器的模式 用socket.accpet监听服务器的请求,具体要怎么实现,请高手指点一下!
...全文
75
5
打赏
收藏
java socket
服务器要处理多线程问题,为每个请求连接的客服端创建一个线程,现在的问题是服务器收到一个客户端的信息后如何判断是发送给哪个客户端的信息,同时如何发送,好像服务器不能主动发送信息给客服端,所以头疼了!有些人介绍时候可以让客户端也实现服务器的模式 用socket.accpet监听服务器的请求,具体要怎么实现,请高手指点一下!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anly_hz
2009-12-02
打赏
举报
回复
每个客户端连进来之前都肯定要给他们分配用户名和密码,对不同的客户端做不同的操作,连进来的时候都是不同的连接,服务器跟客户端始终是在这个链路上通信,除非连接断开了,所以不存在“不知道向哪个客户端发送信息”的问题啊
gao11811
2009-12-02
打赏
举报
回复
[Quote=引用 3 楼 xjpshh 的回复:]
楼上的意思是说服务器端监听到客服端请求以后创建一个socket,然后把socket加入map中吗?比如:Socket client=server.accept();Map <String, Socket> clients = new HashMap <String, Socket>();
clients.put("user1", client);然后在从Map中取出相应客户端的socket进行通信。是不是这样?
如果是这样的话那怎么判断是发送给哪个客户端,假设A客户端发送给客户端,那我们可以再A客户端发送的信息里面添加B客户端的信息,然后在Map里面找到B客服端socket在进行通信,这样好不好?
[/Quote]
其实就是这样的,原理就是在服务器端维护建立的所有连接(socket,随便用什么集合封装,方便维护就行),然后对信息的处理就按照实际需求
xjpshh
2009-12-02
打赏
举报
回复
楼上的意思是说服务器端监听到客服端请求以后创建一个socket,然后把socket加入map中吗?比如:Socket client=server.accept();Map <String, Socket> clients = new HashMap <String, Socket>();
clients.put("user1", client);然后在从Map中取出相应客户端的socket进行通信。是不是这样?
如果是这样的话那怎么判断是发送给哪个客户端,假设A客户端发送给客户端,那我们可以再A客户端发送的信息里面添加B客户端的信息,然后在Map里面找到B客服端socket在进行通信,这样好不好?
捏造的信仰
2009-12-02
打赏
举报
回复
每个客户端都会有自己的 Socket 对象,这个判断起来很麻烦吗?
Map<String, Socket> clients = new HashMap<String, Socket>();
clients.put("user1", sck1);
...
MashiMaro_001
2009-12-02
打赏
举报
回复
客户端跟服务端建立一次连接后,服务端会一直跟跟客户端保持通讯,只要连接没有断开,服务端会一直跟该客户端保持通讯
Socket
介绍及使用
Java
实现
socket
通信
Socket
是计算机网络编程中的通信机制,支持TCP/IP、UDP等协议,提供客户端-服务器通信。文章介绍了
Socket
的基本概念、特点,以及在
Java
中使用TCP和UDP实现
Socket
通信的示例代码。
【
Java
TCP/IP
Socket
】
Socket
编程大合集
本文整理了
Java
TCP/IP
Socket
编程系列文章,包括TCP和UDP
Socket
的基础知识,自定义协议消息的构建与解析,线程池TCP服务器,NIO
Socket
对比,以及TCP通信中可能出现的问题与解决策略,是学习和复习
Socket
编程的宝贵资料。
C
Socket
与
Java
Socket
之间的通信
本文探讨了如何在Linux环境下,使用C和
Java
实现
Socket
通信。C语言的
Socket
编程相对复杂,涉及
socket
创建、配置、监听和接受请求,而
Java
则更为简洁。服务器端在C语言中需要通过
socket
、bind、listen和accept步骤来建立,而在
Java
中只需Server
Socket
类即可。客户端方面,C语言使用connect发起连接,
Java
则直接通过
Socket
类创建实例并连接服务器。
JAVA
—
socket
编程
本文详细介绍了
Java
中的
Socket
编程,包括TCP
Socket
的基本概念以及如何创建客户端和服务端的
Java
代码示例。通过示例代码展示了如何进行双向通信,并提供了简单的测试流程,帮助读者理解
Socket
编程的工作原理。
Java
中的
Socket
编程详解
本文详细探讨
Java
中的
Socket
编程。先介绍
Socket
基础知识与工作原理,接着阐述
Java
中
Socket
的基本类,如Server
Socket
类和
Socket
类。通过简单的客户端 - 服务器示例展示通信过程,还指出
Socket
编程中常见的端口占用、数据读取和超时问题,最后总结其在实际开发中的应用。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章