首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >photoChooserTask导致SocketException

photoChooserTask导致SocketException
EN

Stack Overflow用户
提问于 2012-12-12 13:30:30
回答 1查看 128关注 0票数 1

我想像这样用PhotoChooserTask返回一张照片:

代码语言:javascript
复制
 private void getimage_Click(object sender, EventArgs e)
     {
         photoChooserTask = new PhotoChooserTask();
         photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);

         try
         {
             photoChooserTask.Show();
         }
         catch (System.InvalidOperationException ex)
         {
             MessageBox.Show("An error occurred.");
         }

     }
     void photoChooserTask_Completed(object sender, PhotoResult ee)
     {
         if (ee.TaskResult == TaskResult.OK)
         {

             BitmapImage bmp = new BitmapImage();
             bmp.SetSource(ee.ChosenPhoto);

             if (ee.TaskResult == TaskResult.OK && ee.Error == null)
             {

                     WriteableBitmap wb = new WriteableBitmap(bmp);

                     notes.Add(new chatinfo() { sendimage = bmp });
                     noteListBox.ItemsSource = null;
                     noteListBox.ItemsSource = notes;
             }
           }

       }

但每次程序到达这里时:“bmp.SetSource(ee.ChosenPhoto);”将调用一个SocketException。

代码语言:javascript
复制
private void OnRecieveFrom()
     {
         var receiveArgs = new SocketAsyncEventArgs();
         receiveArgs.RemoteEndPoint = this.IPEndPoint;
         receiveArgs.SetBuffer(new Byte[MAX_BUFFER_SIZE], 0, MAX_BUFFER_SIZE);
         var strBdr = new StringBuilder();
         receiveArgs.Completed += (__, result) =>
         {

             string message = CreateMessage(result);

                Deployment.Current.Dispatcher.BeginInvoke(() =>
                 {
                     this.RaiseReceived(message);

                 });
                 socket.ReceiveFromAsync(receiveArgs);    



         };

             socket.ReceiveFromAsync(receiveArgs);


     }

SocketException是由“socket.ReceiveFromAsync(ReceiveArgs)”调用的;我只想从手机获取一张照片,没有发送或接收操作。我不知道为什么要调用接收函数。

当应用跳转到相册(套接字的"RemoteEndPoint“值变为空)时,是否会丢失套接字通信?附注:"Socket“是"socket”类的对象。如果是这样,我是否应该在每次应用跳出时重新创建“套接字”?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-12 19:47:57

一旦调用了PhotoChooserTask,你的应用程序将被快速切换(甚至可能是逻辑删除)。

无论哪种方式,您的套接字都将被关闭。当你的应用被再次激活时,你将不得不重新打开你的套接字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13833399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档