You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
daha önce c# consol da kullandığım bir WebSocket uygulamam var consol da çalışmasında hiç sorun yaşamadım fakat, net mauı ile çoklu ortam projesine dönüştürmek istiyorum. bilgisayarımda android emülatör çalışmıyor. o yüzden testlerimi windows emülatörde yapıyorum.
aşağıda paylaştığım kodda brekboint le kontrol ettiğimde WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment(buffer), CancellationToken.None); kısmına geldiğinde takılıp kalıyor herhangi bir dönüş alamıyorum. uygulamayı yanlış bir şekilde mi başlatıyorum yada eklemem gereken bir kısım mı eksik bilemedim.
kodlarım aşağıdaki şekilde bana yol gösterirseniz memnun olurum :(
`using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.WebSockets;
using System.Text;
using System.Threading.Tasks;
namespace MauiApp1.Model
{
public static class WebSocket
{
public static string checker = Ayarlar.ComputeSha256Hash(Ayarlar.APIKEY + Ayarlar.hostname + "/ws");
public static ClientWebSocket webSocket = new ClientWebSocket();
public static DateTime senddate = DateTime.Now;
public static async Task ConnectToWebsocket()
{
try
{
webSocket.Options.SetRequestHeader("APIKEY", Ayarlar.APIKEY);
webSocket.Options.SetRequestHeader("Authorization", Ayarlar.HASH);
webSocket.Options.SetRequestHeader("Checker", checker);
await webSocket.ConnectAsync(new Uri(Ayarlar.websocketurl), CancellationToken.None);
await Task.WhenAll(Receive(webSocket), Send(webSocket));
}
catch (Exception ex)
{
}
}
private static async Task Receive(ClientWebSocket webSocket)
{
byte[] buffer = new byte[1024];
while (webSocket.State == System.Net.WebSockets.WebSocketState.Open)
{
try
{
WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
string a = System.Text.Encoding.UTF8.GetString(buffer, 0, result.Count);
WebsocketData model = new WebsocketData();
model = JsonConvert.DeserializeObject<WebsocketData>(a);
if (model != null && model.Type == "D")
{
Depth depthmodel = JsonConvert.DeserializeObject<Depth>(JsonConvert.SerializeObject(model.Content));
Console.WriteLine(JsonConvert.SerializeObject(depthmodel));
}
else if (model != null && model.Type == "T")
{
Tick tickmodel = JsonConvert.DeserializeObject<Tick>(JsonConvert.SerializeObject(model.Content));
Console.WriteLine(JsonConvert.SerializeObject(tickmodel));
}
//Console.WriteLine(a);
}
catch (Exception ex)
{
}
}
if (webSocket.State != System.Net.WebSockets.WebSocketState.Open)
{
ConnectToWebsocket();
}
}
private static async Task Send(ClientWebSocket webSocket)
{
while (webSocket.State == System.Net.WebSockets.WebSocketState.Open)
{
if (senddate < DateTime.Now)
{
senddate = DateTime.Now.AddMinutes(15);
string message = "{\"Type\":\"H\",\"Token\":\"" + Ayarlar.HASH + "\"}";
var encoded = Encoding.UTF8.GetBytes(message);
var buffer = new ArraySegment<Byte>(encoded, 0, encoded.Length);
await webSocket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
}
}
}
}
}`
kodu başlatmak için kullandığım kod aşağıdaki gibi
` public MainPage()
{
InitializeComponent();
WebSocket.ConnectToWebsocket();
}`
konuyla ilgili destek olursanız çok memnun kalırım. Şimdiden teşekkür ederim
The text was updated successfully, but these errors were encountered:
daha önce c# consol da kullandığım bir WebSocket uygulamam var consol da çalışmasında hiç sorun yaşamadım fakat, net mauı ile çoklu ortam projesine dönüştürmek istiyorum. bilgisayarımda android emülatör çalışmıyor. o yüzden testlerimi windows emülatörde yapıyorum.
aşağıda paylaştığım kodda brekboint le kontrol ettiğimde WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment(buffer), CancellationToken.None); kısmına geldiğinde takılıp kalıyor herhangi bir dönüş alamıyorum. uygulamayı yanlış bir şekilde mi başlatıyorum yada eklemem gereken bir kısım mı eksik bilemedim.
kodlarım aşağıdaki şekilde bana yol gösterirseniz memnun olurum :(
`using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.WebSockets;
using System.Text;
using System.Threading.Tasks;
namespace MauiApp1.Model
{
public static class WebSocket
{
public static string checker = Ayarlar.ComputeSha256Hash(Ayarlar.APIKEY + Ayarlar.hostname + "/ws");
public static ClientWebSocket webSocket = new ClientWebSocket();
public static DateTime senddate = DateTime.Now;
public static async Task ConnectToWebsocket()
{
try
{
webSocket.Options.SetRequestHeader("APIKEY", Ayarlar.APIKEY);
webSocket.Options.SetRequestHeader("Authorization", Ayarlar.HASH);
webSocket.Options.SetRequestHeader("Checker", checker);
await webSocket.ConnectAsync(new Uri(Ayarlar.websocketurl), CancellationToken.None);
}`
kodu başlatmak için kullandığım kod aşağıdaki gibi
` public MainPage()
{
InitializeComponent();
}`
konuyla ilgili destek olursanız çok memnun kalırım. Şimdiden teşekkür ederim
The text was updated successfully, but these errors were encountered: