中易网

java 网络编程问题。 socket在做完登录验证的工作后怎么留到之后发消息用?

答案:2  悬赏:0  
解决时间 2021-01-15 23:48
  • 提问者网友:城市野鹿
  • 2021-01-15 08:14
java 网络编程问题。 socket在做完登录验证的工作后怎么留到之后发消息用?
最佳答案
  • 二级知识专家网友:神的生死簿
  • 2021-01-15 08:35
可以参考一下这段代码

//1. 构造ServerSocket实例,指定服务端口。
ServerSocket servSock = new ServerSocket(servPort);

while(true)
{
// 2.调用accept方法,建立和客户端的连接
Socket clntSock = servSock.accept();
SocketAddress clientAddress =
clntSock.getRemoteSocketAddress();
System.out.println("Handling client at " + clientAddress);

// 3. 获取连接的InputStream,OutputStream来进行数据读写
InputStream in = clntSock.getInputStream();
OutputStream out = clntSock.getOutputStream();

while((recvMsgSize = in.read(receiveBuf)) != -1)
{
out.write(receiveBuf, 0, recvMsgSize);
}
// 4.操作结束,关闭socket.
clntSock.close();
}追问这是服务器端的吧,我说的是客户端,登录验证完之后,socket怎么保留做其他通信追答一样的。不关闭就可以了
全部回答
  • 1楼网友:玩世
  • 2021-01-15 10:05
这种做法是不是只有在客户端连接到服务器才可以,如果没有连接到服务器,在用户列表就找不到对应的socket,这样就不可以发送了,是不是这样?如果我想在客户端没有连接到服务器的情况下发送信息给该客户端(这个时候可能在服务器端保存这个信息吧,但是怎么保存这个信息呢?是保存在数据库还是在内存中?),然后当该客户端连接上服务器后就把这个信息发给他.有没有这种做法,应该怎么做?追问你在说什么?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息