a first file sent using packets at max size
This commit is contained in:
parent
c0a3f8b283
commit
7b14144193
13 changed files with 217 additions and 150 deletions
|
|
@ -83,7 +83,7 @@ namespace cli {
|
|||
await _client.ConnectAsync(new Uri(url), _tokenSource.Token);
|
||||
_logger.LogInformation("Connected");
|
||||
const int bufLen = Constants.WebSocketsMaxBufLen;
|
||||
byte [] buffer = new byte[bufLen];
|
||||
byte [] buffer = new byte[bufLen+4*sizeof(int)];
|
||||
const int offset=0;
|
||||
int read = 0;
|
||||
/*
|
||||
|
|
@ -99,13 +99,24 @@ namespace cli {
|
|||
} ); */
|
||||
|
||||
do {
|
||||
read = await stream.ReadAsync(buffer, offset, bufLen);
|
||||
var segment = new ArraySegment<byte>(buffer, offset, read);
|
||||
bool end = read < bufLen;
|
||||
await _client.SendAsync(new ArraySegment<byte>(buffer), WebSocketMessageType.Binary, end, _tokenSource.Token);
|
||||
_logger.LogInformation($"sent {read} bytes end:{end} ");
|
||||
read = await stream.ReadAsync(buffer, offset + sizeof(int), bufLen);
|
||||
if (read>0) {
|
||||
// assert sizeof(int)==4
|
||||
buffer[3]= (byte) (read % 256);
|
||||
var left = read / 256;
|
||||
buffer[2]= (byte) (left % 256);
|
||||
left = left / 256;
|
||||
buffer[1] = (byte) (left % 256);
|
||||
left = left /256;
|
||||
buffer[0]=(byte) (byte) (left % 256);
|
||||
var segment = new ArraySegment<byte>(buffer, offset, read+4);
|
||||
|
||||
} while (read>0 && stream.CanRead );
|
||||
|
||||
await _client.SendAsync(new ArraySegment<byte>(buffer), WebSocketMessageType.Binary, false, _tokenSource.Token);
|
||||
_logger.LogInformation($"sent {segment.Count} ");
|
||||
}
|
||||
|
||||
} while (read>0);
|
||||
// reciving.Wait();
|
||||
await _client.CloseAsync(WebSocketCloseStatus.NormalClosure, "EOF", _tokenSource.Token);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ msbuild-restore:
|
|||
|
||||
check: run
|
||||
|
||||
project.lock.json:
|
||||
project.lock.json: project.json
|
||||
dnu restore
|
||||
@# fixing package id reference case, to System.Xml, from package NJsonSchema.CodeGeneration.CSharp
|
||||
sed 's/System.XML/System.Xml/' project.lock.json > project.lock.json.new && mv project.lock.json.new project.lock.json
|
||||
|
|
|
|||
5
src/cli/package.json
Normal file
5
src/cli/package.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"ansi-to-html": "^0.6.11"
|
||||
}
|
||||
}
|
||||
15
src/cli/yarn.lock
Normal file
15
src/cli/yarn.lock
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
ansi-to-html@^0.6.11:
|
||||
version "0.6.11"
|
||||
resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.11.tgz#5093fc4962186c0e9343dec572a4f71abdc93439"
|
||||
integrity sha512-88XZtrcwrfkyn6fGstHnkaF1kl7hGtNCYh4vSmItgEV+6JnQHryDBf7udF4f2RhTRQmYvJvPcTtqgaqrxzc9oA==
|
||||
dependencies:
|
||||
entities "^1.1.1"
|
||||
|
||||
entities@^1.1.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
|
||||
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
|
||||
Loading…
Add table
Add a link
Reference in a new issue