Ik wil met gebruik van java een Client server model op zetten. Dit doe ik via sockets alleen heb ik de API door gebladerd en wel wat code kunnen schrijven.
Echter is het met de bufferreaders/inputStreams niet helemaal duidelijk (maar das gene probleem) het grote punt is het sturen van data.
In m'n java boek word beschreven dat je via deze weg het via FIFO door stuurt.
Alleen komst daar weinig van terug. In m'n output heb ik bv bij de server altijd auto (ipv fiets \n auto) en op de klient kom er nooit tank te staan.
Echter is het met de bufferreaders/inputStreams niet helemaal duidelijk (maar das gene probleem) het grote punt is het sturen van data.
In m'n java boek word beschreven dat je via deze weg het via FIFO door stuurt.
Alleen komst daar weinig van terug. In m'n output heb ik bv bij de server altijd auto (ipv fiets \n auto) en op de klient kom er nooit tank te staan.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
| public class Cserver { public static void main(String [] ARGS) { System.out.println("| Welcome to the C service |"); System.out.println("| ---------------------------- |\n"); try { ServerSocket ss = new ServerSocket(8008); Socket ctc = ss.accept(); HandleAClient thread = new HandleAClient(ctc); thread.setMaxClients(3); thread.start(); } catch(IOException e) { System.out.println(e.toString()); } } } class HandleAClient extends Thread { private BufferedReader in; private PrintWriter out; private int maxClients = 1; private int clients = 0; public HandleAClient(Socket socket) { if(maxClients >=clients+1) { try { in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); clients++; System.out.println("A user has conencted to the service, now total of "+clients+" users connected.\n"); } catch(IOException e) { System.out.println(e.toString()); } } } public void setMaxClients(int max) { if(this.isAlive()==false) maxClients = max; } public void run() { try { if(in.readLine() !=null){ if(in.readLine() == "auto") out.write("tank"); else System.out.println(in.readLine()); } } catch(Exception e) { System.out.println(e.toString()); } }} import java.io.*; import java.net.*; public class Cclient { public static void main(String [] ARGS) { System.out.println("|------------------------------|"); System.out.println("| Welcome to the Cclient |"); System.out.println("|------------------------------|\n"); try { Socket ss = new Socket("localhost",8008); PrintWriter Pout = new PrintWriter(ss.getOutputStream(), true); BufferedReader Pin = new BufferedReader(new InputStreamReader(ss.getInputStream())); while(ss.isConnected()) { Pout.println("fiets"); Pout.println("auto"); System.out.println(Pin.readLine()); } } catch(IOException e) { System.out.println(e.toString()); } }} |
[ Voor 35% gewijzigd door Verwijderd op 23-05-2003 13:53 ]