Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private async void TcpHandle( long SocketId ) {
- TcpClient Client = ClientList[ SocketId ];
- NetworkStream Stream = Client.GetStream();
- ByteBuffer BufferR = new ByteBuffer( BufferReadSize , BufferAlignment );
- ByteBuffer BufferW = new ByteBuffer( BufferWriteSize , BufferAlignment );
- if ( ClientList.Count <= MaxClients ) {
- bool Connected = true;
- while( Connected == true ) {
- try {
- if ( Stream.DataAvailable == true ) {
- Array.Clear( BufferR.Buffer , 0 , BufferReadSize );
- Array.Clear( BufferW.Buffer , 0 , BufferWriteSize );
- BufferR.BytePeek = 0;
- BufferW.BytePeek = 0;
- int PacketSize = Client.Available;
- await Stream.ReadAsync( BufferR.Buffer , 0 , PacketSize );
- IPEndPoint AddressEndPoint = ( IPEndPoint ) Client.Client.RemoteEndPoint;
- PacketRead( SocketId , ref Client , ref Stream , ref AddressEndPoint , ref BufferR , ref BufferW );
- }
- } catch( Exception ) {
- Connected = false;
- }
- }
- }
- ClientDisconnect( ref Stream , ref BufferW );
- SocketSystem.UnbindSocketTcp( SocketId );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement