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。
我并没有说我擅长java。我安装了它,创建了一个项目,我不知道接下来该怎么做。我需要寻找例子。
费多尔,在论坛上寻求帮助的目的是什么?没有人会给你一个现成的例子,因为每个项目都是独一无二的。只有砖头可以是一样的。这正是他们为你提供的。
让我们从一个简单的问题开始:你有任何编程经验吗?至少在mql中?你知道编程中的 "类 "是什么吗?
是的,当然了。
大家好!
我有一个任务,通过websocket接收huobi的报价,并使用这些报价建立一个离线图表。
我意识到,这不能用标准手段来完成。
我有 一个想法,用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层。在调试方面,它似乎很有母性(情绪要控制住),但一旦完成后再使用。
PS/而且有一种感觉,Mql正在向Sharp方向发展,它对Java完全不友好......所以在第6版中的努力将被浪费掉。
我并没有说我非常了解java。我安装了它,创建了一个项目,我不知道接下来该怎么做。我需要寻找例子。
现实一点,你能处理好客户/服务器之间的协议吗?找一个现成的libu来交换,否则你会被淹死。
是的,俄罗斯版本。
我们应该一步一步来吗?:)
我当然会。我希望我不是唯一的一个。只是尝试更积极地回应信息。
由