Sorunu uzun bir süre çözmeye çalıştım ve sonunda uzmanlardan yardım almaya karar verdim. Soket Programlama kullanarak Sunucu-istemci uygulamasını geliştirdim ve istemcim Sunucuya başarılı bir şekilde bağlanabiliyor. Şimdi istemciden gelen istek üzerine sunucudan soket üzerinden sunucuya göndermeye çalışıyorum, sunucum istekleri yakalayabiliyor ancak sunucu tarafından gönderilen yanıt (writeObject (...)) istemciye ulaşamıyor .
Sunucu kod parçacığı:İstemci İstemci Nesnesi Java tarafından ObjectStream üzerinde Java tarafından gönderilmiyor
ServerSocket sSocket = new ServerSocket(socketNumber);
ArrayList<LoginPassword> logIn = new ArrayList<>();
Socket cSocket = sSocket.accept();
ObjectOutputStream outputStream = new ObjectOutputStream(cSocket.getOutputStream());
outputStream.flush();
ObjectInputStream inputStream = new ObjectInputStream(cSocket.getInputStream());
LoginPassword lp1 = new LoginPassword("admin","admin");
logIn.add(lp1);
outputStream.writeObject(logIn);
outputStream.flush();
Clinet kodu Parçacığı: o gönderilen verileri algılamak mümkün değildir çünkü Benim durumumda
Socket client = new Socket(InetAddress.getLocalHost(),socketNumber);
ArrayList<LoginPassword> myList = new ArrayList<>();
ObjectOutputStream outputStream = new ObjectOutputStream(client.getOutputStream());
outputStream.flush();
ObjectInputStream inputStream = new ObjectInputStream(client.getInputStream());
//Wait untill the data is available
myList = (ArrayList<LoginPassword>) inputStream.readObject();
, müşteriler readObject() asla denir Server.Any yardım lütfen.
Hiçbir şey okumadığınız için bir InputStream'i sunucuda açıyorsunuz. İstemci için aynı: neden bir şey yazmıyorsunuz, neden bir OutputStream açıyorsunuz? –
Bu benim sorunumu açıklamak için bir kod parçacığı, uygulama çalışırken verileri ileri geri göndermek için hem istemci hem de sunucu tarafında inputStream ve OutputStream kullanıyorum. – Rambo772
Önce onları kaldırın ve kodunuzun düzgün çalışması gerekir. Ardından onları yeniden verin, ancak doğru sırada önce okuyan istemci önce giriş akışını açmalı, okuyup yazmalıdır. İlk önce yazan sunucu, önce çıkış akışını açmalı, yazmalı ve daha sonra giriş akışını açmalıdır. –