2012-01-31 16 views
2

Windows Phone 7(Mango 7.1を使用)の基本クライアント/サーバーアプリケーションを作成しようとしています。現時点では、Visual Studioのメソッドに貼り付けられたUDPクライアント用のMSDNのサンプルコード(ここではhttp://msdn.microsoft.com/en-us/library/tst0kwb1.aspx)があります。何らかの理由で、私はすべての正しい参照を持っていますが、 "System.New.Sockets.Socketには 'SendTo'の定義がなく、 'System'型の最初の引数を受け入れる拡張メソッド 'SendTo' .Net.Sockets.Socketが見つかりました "。サンプルコードで使用されているSendToをサポートしている.NET 4.0があります。何をすべきかわからない、どんな助けもありがとう。"System.Net.Sockets.Socketに「SendTo」の定義が含まれていません。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using Microsoft.Phone.Controls; 
using System.Net.Sockets; 
using System.Text; 

namespace PhoneApp1 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
     } 

     private void startButton_Click(object sender, RoutedEventArgs e) 
     { 

     var s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 
      ProtocolType.Udp); 

     IPAddress broadcast = IPAddress.Parse("192.168.1.255"); 

     byte[] sendbuf = Encoding.ASCII.GetBytes(args[0]); 
     IPEndPoint ep = new IPEndPoint(broadcast, 11000); 

     s.SendTo(sendbuf, ep); 



     Console.WriteLine("Message sent to the broadcast address"); 

     } 


    } 
} 

答えて

4

必要はありません:それはちょうど私が文字通りのサンプルコードから、それを貼り付け念頭に置いておくと、すべてのコンテキストでそれを置くためには至っていない、任意の使用だ場合

は、ここでは、コードです。電話番号のNET 4.0 あなたは電話アプリを構築しているので、電話でサポートされているAPIに固執する必要があります。Silverlight version of System.Net.Socketsを見てください。どのタイプでも、メンバーの隣に電話アイコンが表示されています。このようSocket.SendToなどの特定の同期のAPIで

は一般のWindows Phone 7でサポートされていません - あなたはSocket.SendToAsyncを使用する必要があります。

+0

ええと、しかし、私はこれに対する答えを探している間に見つけたいくつかの他のサンプルコードによれば、人々はWindows PhoneでSendToを使用することができました。また、通常のSilverlightデスクトッププログラムとして作成しようとしましたが、まだ動作するSendToを取得できませんでした。\ –

+0

@JeanFinley:いいえ、Silverlightは同期SendToメソッドをサポートしていません。ドキュメントをお読みください。 Windows Phoneプロジェクトのクライアント*上でSocket.SendToがどこから使用されているのを見ましたか? –

+0

ここに:http://stackoverflow.com/questions/1657914/send-reply-to-broadcast-with-a-socket 私はそれがあまりにもうまくいかないと思う。ありがとうJonSkeet –

0

おそらく、System.Netをプロジェクト参照の参照アセンブリとして追加する必要があります。 "using"ステートメントはソースコード内の名前空間を修飾するだけで、実際に参照されたコードを見つけるコンパイラとは何の関係もありません。

関連する問題