当前位置: 代码迷 >> J2SE >> java网络编程有关问题2
  详细解决方案

java网络编程有关问题2

热度:24   发布时间:2016-04-23 22:21:32.0
java网络编程问题2
我最近刚学java,在看韩顺平讲java网络编程(项目是仿QQ)的时候,有个问题,他定义了客户端的静态socket,部分代码如下:
客户端:
public class QqClientConServer {
public static Socket s;
public boolean sendLoginInfoToServer(Object o)
{
.....
s=new Socket("127.0.0.1",9999);
}


服务端:
public class MyQqServer {
public MyQqServer()
{try {ServerSocket ss=new ServerSocket(9999);
while(true)
{Socket s=ss.accept();}
客户端在发送的时候:ObjectInputStream ois=new ObjectInputStream(QqClientConServer.s.getInputStream());每个用户发送和接收都是这个s。
但是我在测试的时候发现每个客户端都和服务器端对应个socket,客户端绝不是一个socket。
但它又是通过静态共享s发送和接受的,这是怎么回事呢?有高手能解释下吗?

------解决方案--------------------
起了两个客户端,就相当于启动了两个java虚拟机,实际上s是存在两个虚拟机中的静态变量,
  相关解决方案