关于socket java线程有关问题

关于socket java线程问题

package com.vo;
import java.io.IOException;  
import java.net.ServerSocket;  
import java.net.Socket;  
  
  
/** 
 * socket 线程类 
 * @author zhangzhongwen 
 * 
 */  
public class SocketThread extends Thread{  
    private ServerSocket serverSocket = null;  
      
    public SocketThread(ServerSocket serverScoket){  
        try {  
            if(null == serverSocket){  
                this.serverSocket = new ServerSocket(8877);  
                System.out.println("socket start");  
                System.out.println(serverSocket);
            }  
        } catch (Exception e) {  
            System.out.println("SocketThread创建socket服务出错");  
            e.printStackTrace();  
        }  
  
    }  
      
    public void run(){  
     System.out.println("进入服务端1");
        while(!this.isInterrupted()){  
         System.out.println("进入服务端2");
            try { 
             System.out.println("进入服务端3");
                Socket socket = serverSocket.accept();  
                  System.out.println(socket.toString());
                if(null != socket && !socket.isClosed()){  
                
                    //处理接受的数据  
                    new SocketOperate(socket).start();  
                }  
                socket.setSoTimeout(30000);  
                  
            }catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    }  
      
      
    public void closeSocketServer(){  
       try {  
            if(null!=serverSocket && !serverSocket.isClosed())  
            {  
             serverSocket.close();  
            }  
       } catch (IOException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
       }  
     }  
      
      
      
      
      
      
      
}  



                Socket socket = serverSocket.accept();  
这一句老是报空指针
------解决方案--------------------
this.serverSocket = new ServerSocket(8877);   把这个this去掉看看