blob: 432784e3bb42c006ec48f07815fde9c4d6710a57 (
plain)
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
101
102
103
104
105
106
107
108
|
// ============================================================================
//
// = PACKAGE
// tests.SOCK_SAP
//
// = FILENAME
// SOCKAcceptorTest.java
//
// = AUTHOR
// Prashant Jain
//
// ============================================================================
package tests.SOCK_SAP;
import java.io.*;
import java.net.*;
import ACE.OS.*;
import ACE.SOCK_SAP.*;
class TestHandler extends Thread
{
public TestHandler (SOCKStream stream)
{
this.stream_ = stream;
this.start ();
}
public void run ()
{
int msgLen;
System.out.println ("Waiting for messages...");
try
{
while (true)
{
StringBuffer msg = new StringBuffer ();
msgLen = this.stream_.recv (msg);
if (msgLen == 0)
break;
ACE.DEBUG ("Received: " + msg);
this.stream_.send ("Got it!");
}
}
catch (NullPointerException e)
{
ACE.ERROR ("connection reset by peer");
}
catch (IOException e)
{
ACE.ERROR (e);
}
finally
{
try
{
this.stream_.close ();
}
catch (IOException e)
{
}
}
}
SOCKStream stream_;
}
public class SOCKAcceptorTest
{
void print_usage_and_die ()
{
ACE.DEBUG ("Usage: SOCKAcceptorTest [<port>]");
System.exit (0);
}
public void init (int port)
{
try
{
SOCKAcceptor acceptor = new SOCKAcceptor (port);
while (true)
{
SOCKStream stream = new SOCKStream ();
acceptor.accept (stream);
TestHandler handler = new TestHandler (stream);
}
}
catch (IOException e)
{
}
}
public static void main (String [] args)
{
int port = ACE.DEFAULT_SERVER_PORT;
SOCKAcceptorTest server = new SOCKAcceptorTest ();
if (args.length == 1)
{
try
{
port = Integer.parseInt (args[0]);
}
catch (NumberFormatException e)
{
server.print_usage_and_die ();
}
}
server.init (port);
}
}
|