File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
src/libraries/System.Net.Sockets/tests/FunctionalTests Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -228,6 +228,40 @@ async Task VerifyAccept(TcpListener listener)
228228 }
229229 }
230230
231+ [ Fact ]
232+ public async Task ReadAsyncTest ( )
233+ {
234+ async Task StartListenerAsync ( )
235+ {
236+ TcpListener listener = new TcpListener ( IPAddress . Loopback , 0 ) ;
237+ listener . Start ( ) ;
238+ Tcp client = await listener . AcceptTcpClientAsync ( ) ;
239+ using ( NetworkStream stream = client . GetStream ( ) )
240+ {
241+ byte [ ] buffer = new byte [ 1024 ] ;
242+ int bytesRead ;
243+ while ( ( bytesRead = await stream . ReadAsync ( buffer , 0 , buffer . Length ) ) > 0 ) ;
244+ }
245+ listener . Stop ( ) ;
246+ }
247+
248+ async Task StartClientAsync ( )
249+ {
250+ TcpClient client = new TcpClient ( IPAddress . Loopback , 0 ) ;
251+ using ( NetworkStream stream = client . GetStream ( ) )
252+ {
253+ byte [ ] data = Encoding . UTF8 . GetBytes ( new string ( '*' , 1 << 22 ) ) ;
254+ await Task . Delay ( 10 ) ;
255+ await stream . WriteAsync ( data , 0 , data . Length ) ;
256+ }
257+ client . Close ( ) ;
258+ }
259+
260+ Task . Run ( ( ) => Console . WriteLine ( Environment . StackTrace ) ) . Wait ( ) ;
261+ await StartListenerAsync ( ) ;
262+ await StartClientAsync ( ) ;
263+ }
264+
231265 [ Fact ]
232266 public void ExclusiveAddressUse_ListenerNotStarted_SetAndReadSuccessfully ( )
233267 {
You can’t perform that action at this time.
0 commit comments