-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMessageListener.java
More file actions
65 lines (53 loc) · 1.96 KB
/
MessageListener.java
File metadata and controls
65 lines (53 loc) · 1.96 KB
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
import java.io.*;
import java.net.*;
public class MessageListener extends Thread
{
Socket socket;
public MessageListener(Socket socket)
{
this.socket = socket;
}
public void run()
{
System.out.println("messageListener Running...");
DataInputStream in = null;
try
{
in = new DataInputStream(socket.getInputStream());
byte[] buffer = new byte[socket.getReceiveBufferSize()];
int size = in.read(buffer);
if (size == -1)
{
in.close();
System.out.println("Source closed " + socket.getInetAddress() + " - " + socket.getPort());
return;
}
Message message = Message.Deserialize(buffer);
switch(message.getCode()){
case Error :
System.out.println("Error from peer - most likely no result in cloud");
break;
case Success :
System.out.println("Success! Value of key is: " + message.getContent());
break;
default :
System.out.println("Error - Unknown code returned: " + message.getCode() + " - message content is: " + message.getContent());
break;
}
socket.close();
} catch (IOException ex)
{
if (in != null)
{
try
{
socket.close();
} catch (IOException e)
{
System.out.println("Couldn't close socket: " + e);
}
}
System.err.println("TCP: IO Error: " + ex.getMessage());
}
}
}