휴대폰 (Windows 10)에서 PC로 파일을 쉽게 전송할 수있는 작은 도구가 있습니다. 폴더를 검색하지 않고 와이어없이 신속하게 파일 만 제공합니다. "공유"> 다른 모든 클라이언트가 다운로드 할 파일을 표시합니다. 먼저 인터넷 서버를 "캐시"로 사용합니다. 이제이 아이디어를 WLAN / LAN으로 확장하고 있습니다. HTTP 또는 FTP없이 자체 솔루션을 구축하기로 선택했습니다. TCP / IP를 통한 단지 바이트. 첫 번째 테스트 솔루션이 잘 작동합니다. 나는 버퍼, 크기, 연속 스트림으로 많이 연주했습니다. 또한 GarbageCollector에서 멋진 작은 방법을 찾았습니다. 이제 저의 느린 Lumia 640은 메모리 부족없이 가장 큰 파일을 전송합니다 (150 이전에 최대 33MB를 사용하여 out_of_memory로 전송하고 완벽한 버퍼 크기로이 전화기를 WLAN 최대로 가져옵니다. 전송 속도) 믿을 수가 없네요.
하지만 제가 처리 할 수없는 것이 하나 있습니다 ..
연결이 갑자기 끊어지면 앱의 수신 부분에서이 줄이 즉시 TaskAwaiter 예외를 강제로 처리 할 수있는 것보다 훨씬 빠르게 보입니다. 동기화 변형, async, Task.Run (), TaskFactory.RunAsync를 사용하여 모든 것을 시도했습니다. UWP-App이 너무 빨리 충돌하는 것을 본 적이 없습니다. "inStream"은 우발적 인 소켓 연결과 Excep을 기반으로합니다. .CopyToAsync ()를 던집니다.
TaskAwaiter 예외 자체를 처리하는 방법 또는 다른 방법이 있습니까?
private async void SocketListener_ConnectionReceived(Windows.Networking.Sockets.StreamSocketListener sender, Windows.Networking.Sockets.StreamSocketListenerConnectionReceivedEventArgs args)
{
socketListener.ConnectionReceived -= SocketListener_ConnectionReceived;
await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
tb_status.Text = "incoming Connection... receiving the file... Please wait until it´s done....";
});
try
{
Stopwatch stoppUhr = new Stopwatch();
stoppUhr.Start();
Stream inStream = args.Socket.InputStream.AsStreamForRead();
StorageFile outFile = await ApplicationData.Current.LocalCacheFolder.CreateFileAsync("theTestFile.wav", CreationCollisionOption.ReplaceExisting);
Stream fileWriteStream = await outFile.OpenStreamForWriteAsync();
이 줄에서 복사-작업에서 예외가 발생하는 경우는 다음과 같습니다.
await inStream.CopyToAsync(fileWriteStream);
fileWriteStream.Dispose();
inStream.Dispose();
double elapsedSeconds = stoppUhr.Elapsed.TotalSeconds;
stoppUhr.Stop();
stoppUhr = null;
double recSizeMB = (await outFile.GetBasicPropertiesAsync()).Size / 1024 / 1024;
double mBitPerSec = recSizeMB * 8 / elapsedSeconds;
** WINDOWS 미리보기 문제였습니다 .... :) THX 귀하의 도움 :) **
며칠 후 내 앱에 첫 번째 알파 출시가 있습니다. :)) OneDrive 및 LAN / WLAN 용 QuickTransfer (W10 UWP)-future-STORE 링크
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다