Size: a a a

F# Flood: Ручная работа

2020 February 10

F

Fill in F# Flood: Ручная работа
там одинаковый класс вроде у тсп и сокета
источник

I

Igor in F# Flood: Ручная работа
может это все одна и та же проблема
источник

F

Fill in F# Flood: Ручная работа
options который
источник

F

Fill in F# Flood: Ручная работа
но это пиздец как странно
источник

F

Fill in F# Flood: Ручная работа
типа, кто его ограничил, и зачем. Если бы этого требовал протокол, то везде было бы ограничено. А все либы под дотнет - обёртки над нативным
источник

F

Fill in F# Flood: Ручная работа
и не гуглится особо решение. Я подумал, через рефлексию наколдовать что-нибудь
источник

I

Igor in F# Flood: Ручная работа
Vladimir Shchur
пофиксил как в ишуе что я скидывал, надо pauseWriterThreshold увеличить, заработало
вот похоже это оно
источник

I

Igor in F# Flood: Ручная работа
или нет...
источник

AH

Ayrat Hudaygulov in F# Flood: Ручная работа
Alex Varenik
Сколько ни пробовал ф, ни разу не ощутил, что что-то там неявно происходит. Это непривычно, после с
type A =
 interface B with ...

let foo (b: B) = ...

let a:A = ...

foo a //implicit cast here
источник

AH

Ayrat Hudaygulov in F# Flood: Ручная работа
В последней строчке не надо явно кастить а к B
источник

AV

Alex Varenik in F# Flood: Ручная работа
Fill
нативный клиент не даёт буфер сделать больше 65кб
у меня :
           let arr = Array.init 4096 (fun _ -> 0uy)
           let buffer = ArraySegment<byte>(arr)
           let! result = client.ReceiveAsync(buffer, Async.DefaultCancellationToken) |> Async.AwaitTask
Больше не пробовал, но там вроде есть признак все ли сообщение  пришло
источник

AH

Ayrat Hudaygulov in F# Flood: Ручная работа
Alex Varenik
у меня :
           let arr = Array.init 4096 (fun _ -> 0uy)
           let buffer = ArraySegment<byte>(arr)
           let! result = client.ReceiveAsync(buffer, Async.DefaultCancellationToken) |> Async.AwaitTask
Больше не пробовал, но там вроде есть признак все ли сообщение  пришло
Такой инит лучше замени на Array.zeroCreate<byte> 4096
источник

AV

Alex Varenik in F# Flood: Ручная работа
Ayrat Hudaygulov
Такой инит лучше замени на Array.zeroCreate<byte> 4096
ok
источник

AV

Alex Varenik in F# Flood: Ручная работа
public bool EndOfMessage { get; }
источник

AV

Alex Varenik in F# Flood: Ручная работа
у резалта
источник

AH

Ayrat Hudaygulov in F# Flood: Ручная работа
Alex Varenik
public bool EndOfMessage { get; }
А если он false что делать?
источник

AV

Alex Varenik in F# Flood: Ручная работа
вероятно читать следующий, потом склеивать, я не пробовал
источник

AH

Ayrat Hudaygulov in F# Flood: Ручная работа
Ну вот совершенно неясно как с этим работать
источник

AV

Alex Varenik in F# Flood: Ручная работа
do
           {
               result = await socket.ReceiveAsync(buffer, CancellationToken.None);
               ms.Write(buffer.Array, buffer.Offset, result.Count);
           } while (!result.EndOfMessage);
источник

AV

Alex Varenik in F# Flood: Ручная работа
источник