-1
我正在使用Java自己的服務器。我需要做一個套接字連接並從客戶端接收很多對象。我做到了,它有效,但我不知道這是否是最好的(最快)解決方案。這裏是例子我的代碼:服務器連接
try {
serverSocket=new ServerSocket(18234, 1000);
} catch (IOException e) {
System.out.print("Server failed..");
e.printStackTrace();
}
Object x;
ObjectInputStream ois;
System.out.println("Waiting for connection...");
Socket connection= serverSocket.accept();
System.out.println("Connection received from " + connection.getInetAddress().getHostName());
while(true){
ois = new ObjectInputStream(connection.getInputStream());
x=ois.readObject();
System.out.println(x.getString());
if(x.getString().equals("END")) break;
}
問題是,當我嘗試接受新的對象,所有的時間我必須做新的ObjectInputStream的..是這個解決方案是否正確?我必須做非常快的服務器,並且在我看來,所有時間都在做新的ObjectInputStream太貴了。
瞭解如何使用vert.x編寫服務器。爲什麼寫自己的? – duffymo
*「問題是,當我嘗試接收新對象時,所有時間都必須執行新的ObjectInputStream」*,但是爲什麼您必須在每次迭代中創建一個新對象,爲什麼不能有一個對象呢? –
因爲如果我不這樣做我得到異常:java.io.StreamCorruptedException:無效的類型代碼:AC – user1247373