OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // | 4 // |
5 // Echo server test program to test socket streams. | 5 // Echo server test program to test socket streams. |
6 // | 6 // |
7 // VMOptions= | 7 // VMOptions= |
8 // VMOptions=--short_socket_read | 8 // VMOptions=--short_socket_read |
9 // VMOptions=--short_socket_write | 9 // VMOptions=--short_socket_write |
10 // VMOptions=--short_socket_read --short_socket_write | 10 // VMOptions=--short_socket_read --short_socket_write |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 } | 57 } |
58 | 58 |
59 void errorHandler(e) { | 59 void errorHandler(e) { |
60 Expect.fail("Socket error $e"); | 60 Expect.fail("Socket error $e"); |
61 } | 61 } |
62 | 62 |
63 void connectHandler() { | 63 void connectHandler() { |
64 _socket.listen(onData, | 64 _socket.listen(onData, |
65 onError: errorHandler, | 65 onError: errorHandler, |
66 onDone: onClosed); | 66 onDone: onClosed); |
67 _socket.writeBytes(_buffer); | 67 _socket.add(_buffer); |
68 _socket.close(); | 68 _socket.close(); |
69 data = new List<int>(MSGSIZE); | 69 data = new List<int>(MSGSIZE); |
70 } | 70 } |
71 | 71 |
72 Socket.connect(TestingServer.HOST, _port).then((s) { | 72 Socket.connect(TestingServer.HOST, _port).then((s) { |
73 _socket = s; | 73 _socket = s; |
74 connectHandler(); | 74 connectHandler(); |
75 }); | 75 }); |
76 } | 76 } |
77 | 77 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 void dataReceived(List<int> data) { | 114 void dataReceived(List<int> data) { |
115 int bytesRead; | 115 int bytesRead; |
116 bytesRead = data.length; | 116 bytesRead = data.length; |
117 if (bytesRead > 0) { | 117 if (bytesRead > 0) { |
118 buffer.setRange(offset, data.length, data); | 118 buffer.setRange(offset, data.length, data); |
119 offset += bytesRead; | 119 offset += bytesRead; |
120 for (int i = 0; i < offset; i++) { | 120 for (int i = 0; i < offset; i++) { |
121 Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]); | 121 Expect.equals(EchoServerGame.FIRSTCHAR + i, buffer[i]); |
122 } | 122 } |
123 if (offset == MSGSIZE) { | 123 if (offset == MSGSIZE) { |
124 connection.writeBytes(buffer); | 124 connection.add(buffer); |
125 connection.close(); | 125 connection.close(); |
126 } | 126 } |
127 } | 127 } |
128 } | 128 } |
129 | 129 |
130 void errorHandler(e) { | 130 void errorHandler(e) { |
131 Expect.fail("Socket error $e"); | 131 Expect.fail("Socket error $e"); |
132 } | 132 } |
133 | 133 |
134 connection.listen(dataReceived, onError: errorHandler); | 134 connection.listen(dataReceived, onError: errorHandler); |
135 } | 135 } |
136 } | 136 } |
137 | 137 |
138 main() { | 138 main() { |
139 EchoServerGame echoServerGame = new EchoServerGame.start(); | 139 EchoServerGame echoServerGame = new EchoServerGame.start(); |
140 } | 140 } |
OLD | NEW |