updated receive and send socket

This commit is contained in:
NYAN CAT 2019-12-14 19:38:42 +03:00
parent 4f2fd21030
commit a3c62c3335
12 changed files with 156 additions and 24 deletions

View File

@ -158,16 +158,21 @@ namespace Client.Connection
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -175,6 +180,12 @@ namespace Client.Connection
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -117,16 +117,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -134,6 +139,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -120,16 +120,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -137,6 +142,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -112,16 +112,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -129,6 +134,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -115,16 +115,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -132,6 +137,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {

View File

@ -114,16 +114,21 @@ namespace Plugin
{ {
Offset = 0; Offset = 0;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
while (HeaderSize != 0) while (HeaderSize > 0)
{ {
int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize); int rc = SslClient.Read(Buffer, (int)Offset, (int)HeaderSize);
if (rc <= 0 || HeaderSize < 0) if (rc <= 0)
{ {
IsConnected = false; IsConnected = false;
return; return;
} }
Offset += rc; Offset += rc;
HeaderSize -= rc; HeaderSize -= rc;
if (HeaderSize < 0)
{
IsConnected = false;
return;
}
} }
Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read)); Thread thread = new Thread(new ParameterizedThreadStart(Packet.Read));
thread.Start(Buffer); thread.Start(Buffer);
@ -131,6 +136,12 @@ namespace Plugin
HeaderSize = 4; HeaderSize = 4;
Buffer = new byte[HeaderSize]; Buffer = new byte[HeaderSize];
} }
else
{
HeaderSize = 4;
Buffer = new byte[HeaderSize];
Offset = 0;
}
} }
else if (HeaderSize < 0) else if (HeaderSize < 0)
{ {