2014-11-05 91 views
0

我试图通过调用类的默认构造函数来启动一个套接字服务器,但是服务器没有启动无法启动socket服务器的Java

下面是我的服务器套接字类:

import java.io.*; 
import java.net.*; 


public class TransactionServer 
{ 
    public void TransactionServer() throws IOException { 

     System.out.println("Inside Create Server"); 
     Socket echoSocket; 
     InputStream sin = null; 
     OutputStream sout = null; 

     ObjectInputStream sinO=null; 
     ObjectOutputStream soutO=null; 

     try { 
      ServerSocket s = new ServerSocket(2000); 
      System.out.println("Server Ruinning"); 
      echoSocket = s.accept(); 
      System.out.println("Connection from: " + echoSocket.getInetAddress()); 

      sinO = new ObjectInputStream(echoSocket.getInputStream()); 
      soutO = new ObjectOutputStream(echoSocket.getOutputStream()); 

      String temp = (String) sinO.readObject(); 
      System.out.println("" + temp); 
     } catch (Exception e) { 
      System.err.println(e); 
      return; 
     } 
    } 
} 

下面是我的调用此类的对象:

public class TabbedPane extends JFrame { 

    public TabbedPane() { 

     TransactionServer newServer=new TransactionServer(); 
    } 
} 

但是服务器没有启动。

回答

1

您的newServer实例不会调用TransactionServer()! 这样:

TransactionServer newServer=new TransactionServer(); 
        newServer.TransactionServer(); 
+1

好的。他认为构造函数实际上是一个无效的方法。 +1 – 2014-11-05 05:11:46

1

您已经定义TransactionServer构造函数时使用void。删除void,并且构造函数将被触发,以运行套接字服务器。

更换行:

public void TransactionServer() throws IOException { 

有了:

public TransactionServer() throws IOException { 

除此之外,我假设你有一个主要方法某处来调用 “invokation对象”。 :-)