質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

UDP

UDP(User Datagram Protocol)とは、トランスポート層のプロトコルであり、コネクション型のデータサービスです。IPネットワーク上の別のホストにコンピュータのアプリケーションがメッセージを送ることができ、転送チャンネルやデータ経路を設定する必要はありません。TCPに比べて高速であるが、信頼性が薄いという特徴があります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

0回答

1028閲覧

Xamarin.MacでRug.OSC(or UDP)を使った送信ができない

aaaaaepp1

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

UDP

UDP(User Datagram Protocol)とは、トランスポート層のプロトコルであり、コネクション型のデータサービスです。IPネットワーク上の別のホストにコンピュータのアプリケーションがメッセージを送ることができ、転送チャンネルやデータ経路を設定する必要はありません。TCPに比べて高速であるが、信頼性が薄いという特徴があります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2019/07/04 02:00

概要

Xamarin.Macで、同PC内でOSC通信を行う簡単なGUIアプリケーションを作成しようと思い開発しています。
Rug.OSCというライブラリを用いて、 Rug.OSCの公式Wikiを見ながらやっているのですが、CocoaアプリだとWikiにある

C#

1class Program 2{ 3 static void Main(string[] args) 4 { 5 // This is the ip address we are going to send to 6 IPAddress address = IPAddress.Parse("127.0.0.1"); 7 8 // This is the port we are going to send to 9 int port = 8006; 10 11 // Create a new sender instance 12 using (OscSender sender = new OscSender(address, port)) 13 { 14 // Connect the sender socket 15 sender.Connect(); 16 17 // Send a new message 18 sender.Send(new OscMessage("/test", 1, 2, 3, 4)); 19 } 20 } 21}

すら動かず困っています(なぜかコンソールアプリケーションでは送信できます)。

受信の処理はPythonで、どこかのブログを参考に

Python

1import time 2import threading 3import argparse 4from pythonosc import dispatcher 5from pythonosc import osc_server 6 7def oscprint(unused_addr, args, *values): 8 print("value size: ", len(values)) 9 for el in values: 10 print(el) 11 12parser = argparse.ArgumentParser() 13parser.add_argument("---ip", default="127.0.0.1", help="The ip to listem on") 14parser.add_argument("---port", type=int, default=8006, help="The port to listen on") 15 16args = parser.parse_args() 17dispatcher = dispatcher.Dispatcher() 18dispatcher.map("/camera", oscprint, "Test") 19 20server = osc_server.ForkingOSCUDPServer((args.ip, args.port), dispatcher) 21print("Serving on {}",format(server.server_address)) 22server_thread = threading.Thread(target=server.serve_forever) 23server_thread.start() 24time.sleep(60) 25server.shutdown()

を動かしました。

状況

先に上記のPythonのサーバを起動し、C#のアプリを実行すると、コンソールアプリだと通信できるのですが、Cocoaアプリだとできません。

環境

  • OS: MacOS Mojave version 10.14.4
  • PC: MacBookPro 15-inch 2017
  • VS: Visual Studio for Mac version 8.1.4

補足

以下はCocoaアプリだけでなくコンソールアプリでも動かなかったのですが、DOBON.NET/UDPによりデータの送受信を行うを参考にUDPクライアントで送受信しようとしてみてもうまく行きませんでした。これは別の原因かもしれないですが、ご存知の方、ご教授いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問