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

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

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

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

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

12211閲覧

C#とJavascriptをSocketで通信させたい(192.168.1.4で)

退会済みユーザー

退会済みユーザー

総合スコア0

C#

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

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/01/10 13:36

###前提・実現したいこと
こんばんは、teratailで初めて質問します。

C#とJavascriptの間でSocketを利用して通信させたいです。
C#はサーバー側、Javascriptはクライアント側(?)で、JavascriptからC#に向けてテキストメッセージを送りたいです。

Javascript、HTMLファイルはXAMPPを使用して192.168.1.4にアップロード(?)しています。
C#はデスクトップアプリケーションです。

Javascriptでメッセージを送信するコードはできたのですが、C#でそのメッセージを受け取るコードが調べてもできませんでした。
C#でSocketを使用してメッセージを受信する方法があればご教示ください。
Socket以外にもいい方法があったらお願いします。

###ソースコード

html

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>テスト</title> 6 <script type="text/javascript" src="test.js"></script> 7 </head> 8 <body> 9 </body> 10</html>

javascript

1var socket; 2var host = "ws://192.168.1.4:8080"; 3var packets=0; 4 5window.onload = function() { 6 try{ 7 socket = new WebSocket(host); 8 9 socket.onopen = function() { 10 } 11 socket.onmessage = function(msg) { 12 } 13 socket.onerror = function(e) { 14 alert("error"); 15 } 16 socket.onclose = function() { 17 alert("close"); 18 } 19 } catch(exception){ 20 } 21 setInterval("loop()",1); 22} 23 24function loop() { 25 socket.send("テスト" + packets); 26 packets++; 27}

###補足情報(言語/FW/ツール等のバージョンなど)

  • XAMPP 5.6.15
  • Visual Studio 2015 Community
  • .NET Framework 4.5
  • C# 6.0

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

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

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

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

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

guest

回答2

0

HttpListenerなどを使って簡易なwebサーバーを構築しておいてjsonでも投げればいいんじゃないですか?

System.Net HttpListener クラス

投稿2016/01/11 19:05

dojikko

総合スコア3939

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

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

0

http://kimux.net/?p=782
これどうぞ。

投稿2016/01/10 13:47

ipadcaron

総合スコア1693

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

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

退会済みユーザー

退会済みユーザー

2016/01/10 14:20

using SuperSocket.Common; using SuperSocket.SocketBase; using SuperSocket.SocketBase.Config; using SuperSocket.SocketEngine; using SuperWebSocket; これらのライブラリはどこで手に入りますか?
ipadcaron

2016/01/10 15:58

HPに書いてあります。
退会済みユーザー

退会済みユーザー

2016/01/11 12:44

この方法で実行しましたが、実行時に「System.IO.FileLoadExceptionはハンドルされませんでした。」という例外が発生してしまいます。 型 'System.IO.FileLoadException' のハンドルされていない例外が System.Windows.Forms.dll で発生しました 追加情報:ファイルまたはアセンブリ 'SuperSocket.SocketBase, Version=1.6.4.0, Culture=neutral, PublicKeyToken=6c80000676988ebb'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040) ライブラリのバージョンを1.6.4.0にしてみましたが、SuperSocket.SocketBase.SocketMode.Syncが見つからないというエラーが出てしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問