Hallo zusammen
Ich habe folgendes Problem:
Um ein multi-chat program zu schreiben braucht man ein server program und ein client program:
mein Fall ist komplizierter als normal. dh ich habe in meinem system 2 verschiedene Client:
1- Client mit SSL
2- Client ohne SSL
Der Server muss mit beiden gleichzeitig Kommunizieren. dh Er muss 2 Ports haben
1- Port 5000 für normale kommunikation
2- Port 6000 für kommunikation mit SSL
Wie kann der server gleichzeitig an beiden Ports warten ohne dass eine Blockierung auftaucht. dh 2 Clients auf beiden Ports gleichzeitig einlogen und mit dem gleichen server kommunizieren.
anbei mein Problem
server-seite :
...
...
//........................Ohne SSL
//........................Mit SSL
client -seite mit SSL:
...
client - seite ohne SSL
für weitere Erklärungen bin ich bereit.
für einen Vorschlag wäre ich ganz besonders dankbar.
[Edit by foobar: Codetags eingefügt]
Ich habe folgendes Problem:
Um ein multi-chat program zu schreiben braucht man ein server program und ein client program:
mein Fall ist komplizierter als normal. dh ich habe in meinem system 2 verschiedene Client:
1- Client mit SSL
2- Client ohne SSL
Der Server muss mit beiden gleichzeitig Kommunizieren. dh Er muss 2 Ports haben
1- Port 5000 für normale kommunikation
2- Port 6000 für kommunikation mit SSL
Wie kann der server gleichzeitig an beiden Ports warten ohne dass eine Blockierung auftaucht. dh 2 Clients auf beiden Ports gleichzeitig einlogen und mit dem gleichen server kommunizieren.
anbei mein Problem
server-seite :
...
Code:
ServerSocket ss = new ServerSocket(5000);
Socket sServer = ss.accept();
Code:
public Server(int port) throws IOException
{
Code:
ServerSocket ss1 = new ServerSocket(5000);
Code:
ServerSocketFactory ss2 = SSLServerSocketFactory.getDefault();
ServerSocket ssocket = ssocketFactory.createServerSocket(6000)
System.out.println("Server Started at port : " + "5000" );
System.out.println("Server Started at port : " + "6000" );
while (true) {
Socket s1 = ss1.accept();
b1.start();
InputStream in_ss1 = s1.getInputStream();
OutputStream out_ss1 = s1.getOutputStream();
Socket s2 = ss2.accept();
b2.start();
InputStream in_ss2 = s2.getInputStream();
OutputStream out_ss2 = s2.getOutputStream();
...
}
...
}
client -seite mit SSL:
...
Code:
try {
String hostname = "hostname";
SocketFactory socketFactory = SSLSocketFactory.getDefault();
Socket socket_SSL = socketFactory.createSocket(hostname, 6000);
InputStream in = socket.getInputStream();
OutputStream out = socket_SSL.getOutputStream();
// Read from in and write to out...
// Close the socket
in.close();
out.close();
} catch(IOException e) {
}
client - seite ohne SSL
Code:
try {
String hostname = "hostname";
Socket socket = new Socket(addr, 5000);
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
// Read from in and write to out...
// Close the socket
in.close();
out.close();
} catch(IOException e) {
}
für weitere Erklärungen bin ich bereit.
für einen Vorschlag wäre ich ganz besonders dankbar.
[Edit by foobar: Codetags eingefügt]