using System;
using System.Text;
using System.Threading.Tasks;
using System.Net.WebSockets;
using System.Threading;
using System.Net;
namespace BinaryWSDemo
{
class BinaryWS
{
private ClientWebSocket ws = new ClientWebSocket();
private Uri uri = new Uri("wss://ws.binaryws.com/websockets/v3?app_id=1089");
public async Task SendRequest(string data)
{
while(this.ws.State == WebSocketState.Connecting){};
if (this.ws.State != WebSocketState.Open)
{
thrownew Exception("Connection is not open.");
}
var reqAsBytes = Encoding.UTF8.GetBytes(data);
var ticksRequest = new ArraySegment<byte>(reqAsBytes);
await this.ws.SendAsync(ticksRequest,
WebSocketMessageType.Text,
true,
CancellationToken.None);
Console.WriteLine("The request has been sent: ");
Console.WriteLine(data);
Console.WriteLine("\r\n \r\n");
}
public async Task StartListen(){
WebSocketReceiveResult result;
while (this.ws.State == WebSocketState.Open){
var buffer = new ArraySegment<byte>(newbyte[1024]);
do
{
result = await this.ws.ReceiveAsync(new ArraySegment<byte>(buffer.Array), CancellationToken.None);
if (result.MessageType == WebSocketMessageType.Close)
{
Console.WriteLine("Connection Closed!");
break;
}
else
{
var str = Encoding.UTF8.GetString(buffer.Array, 0, result.Count);
Console.WriteLine("Received Data at: " + DateTime.Now);
Console.WriteLine(str);
Console.WriteLine("\r\n");
}
} while (!result.EndOfMessage);
}
}
public async Task Connect(){
Console.WriteLine("Prepare to connect to: " + this.uri.ToString());
Console.WriteLine("\r\n");
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
await ws.ConnectAsync(uri, CancellationToken.None);
Console.WriteLine("The connection is established!");
Console.WriteLine("\r\n");
}
staticvoid Main(string[] args)
{
string data = "{\"ticks\":\"R_100\"}";
var bws = new BinaryWS();
bws.Connect().Wait();
bws.SendRequest(data).Wait();
bws.StartListen();
Console.ReadLine();
}
}
}
How do we return an array of integers from Java to C++. And this question follows up to 2d and 3d arrays as well. Also what would be the method to call Java function (assuming we are calling static function). Example: ID: method = m_pJVMInstance->m_pEnv->GetStaticMethodID(class, "getIntDataS", "([Ljava/lang/String;)[I"); Calling: jint...
フェドール、どこにいた?
実は、私はここに座っていて、困っているんです。
Usercontrolが表示されたウィンドウがポップアップしました。以上です。
こんな例を見つけました。
Visual Studioで 実行してみる コードがC#の場合
ClientWebSocketは、すべてのWindowsバージョンでサポートされて いないため、これは動作しません。
私は実績のある方法を提示したが、あなたは自分の道を進み、自分の凸凹を出したいのだろう。それはあなたの権利です。
それなら、シャープにする必要はないでしょう。javaが得意な人は、それを使ってDLLを書くことができます。
ジャワが得意とは言っていない。インストールし、プロジェクトを 作成したが、次に何をすればいいのかわからない。例を探す必要がある。
Fedorさん、フォーラムで相談する目的は何でしょうか?すべてのプロジェクトがユニークであるため、誰も既成の例を教えてくれません。レンガだけは同じにできる。それこそが、彼らが提供するものなのです。
まずは簡単なものから。プログラミングの経験はありますか?少なくともmqlでは?プログラミングにおける「クラス」というものをご存知でしょうか。
はい、もちろんです。
みなさん、こんにちは。
huobiからwebsocket経由で相場を受信し、その相場を利用してオフラインチャートを構築するタスクがあります。
これは標準的な手段ではできないことだと実感しました。
javaでDLLを書き、それを使って見積書を受け取るというアイデアがあります。
そのような実装は可能なのでしょうか?
そういうのは初めてなので、よろしくお願いします!(笑)
Mql DLLでJavaを呼び出すなら、gp経由の扁桃腺よりカッコいい :-)
が、本当にやりたいのなら、やってもいい。しかし、それに加えて、C言語を十分なレベルで理解し、MT内部でスレッドがどのように配置され、いつどのように生成/変換されるかを理解している必要があります。
は、JavaやC/C++と友達になる方法についての記事がたくさんあります。最初のグーグル検索では、https://www.codeproject.com/Articles/993067/Calling-Java-from-Cplusplus-with-JNI。
C/C++やMqlと友達になる方法について、現地の記事を参照してください。
Mql->(c/c++ dll)->Java のレイヤーを作ることができます。それはデバッグの面で非常に母性的なようですが(感情はチェックで維持する必要があります)、一度行ってから使用します。
追記/あと、MqlはSharpに向かってる感があり、Javaと全く親和性がないので、バージョン6では努力が無駄になりそうです
ジャワをよく知っているとは言っていない。インストールし、プロジェクトを作成したが、次に何をすればいいのかわからない。例を探す必要がある。
現実的に考えて、クライアント・サーバー間のプロトコルを扱えるのか?交換用のリブーを用意しろ、でないと溺れるぞ。
そう、ロシア版です。
一歩一歩進んでいきましょうか。:)
もちろん、そうしますよ。私だけでないことを祈ります。ただ、もっと積極的にメッセージに反応するようにしましょう。
メイド・バイ