java socket中server端和client端通信,client端一直等待接收信息,请问重新主动向client端发送数据?

javasocket中server端和client端通信,server端一直监听端口,client端向server端发送数据后,server端接收到并返回数据给clien... java socket中server端和client端通信,server端一直监听端口,client端向server端发送数据后,server端接收到并返回数据给client端,client端一直等待接收数据。请问能不能重新建立之前server端和client通信的Socket,主动向client端发送数据?如果可以,请问重新主动向client端发送数据时如何获取之前建立通信的Socket呢?
我把Socket定义在成类属性static Socket socket; server端和client端通信后,想主动再向client端发送数据,于是我获取这个定义在成类属性static Socket socket,结果为null。
我知道做了,通过将设置server端和client端连接的Socket定义在外面:static Socket socket;然后后面发送就可以获取这个socket了,需要通过web页面执行,用main方法调试是获取socket值的。
展开
 我来答
四叶半
2013-12-01
知道答主
回答量:8
采纳率:0%
帮助的人:3.5万
展开全部
你的问题确实有点奇怪,socket是不用在固定服务器与客户端之间多建的,socket建好后你可以在客户端和服务器中各自对输入流进行循环判断,如果你socket输入流来源不为空(比如说来源可能是键盘输入文件读取等),就把这些东西负给socket的输入流,这个连接就随便通信,谁主动谁被动都不是重点,多少次也随意。同一个端口只能建一个socket连接监听,想再建连接再占一个端口就可以了,服务器端与客户端主要区别在于被动连接与主动连接,谁主动发消息无所谓
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Stale331x
2013-12-01 · TA获得超过1299个赞
知道小有建树答主
回答量:1276
采纳率:33%
帮助的人:825万
展开全部
就算你是在server端,也能够向client端发送数据啊。。
只要client-server直接的socket仍然存在,那么c/s之间就能够任意的发送/接收字节流。
socket.getInputStream()--得到输入的字节流
socket.getOutputStream()--得到输出的字节流
有什么地方不明白的么??之后c/s直接的数据通信,就直接用字节流操作即可(几乎跟用字节流读写文件一样的)
更多追问追答
追问
client-server连接的socket是存在啊,server端一直在监听啊,但不是用这个连接中的server端发送数据到client端,而是需要另外获取这个(client-server连接)连接中的Socket,
,重新获取连接的Socket都没获取到,数据是发送不过去的好不?
追答
你为什么要那么麻烦多弄个socket出来?
你server端的socket,监听就是为了接收输入流,跟输出流没有矛盾的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-01
展开全部
只要连接还存在,就可以随便输出呀。
追问
client-server连接的socket是存在啊,但不是用这个连接中的server端发送数据到client端,而是需要另外获取这个(client-server连接)连接中的Socket,另外主动向client发送数据啊,请问重新主动向client端发送数据时如何获取之前建立通信的Socket呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式