private void CheckServer()
 {
     THcheckServer = new Thread(() =>
     {
         while (true)
         {
             try
             {
                 uint ServerNetID = 0;
                 WClient wc       = new WClient("127.0.0.1", 5999);
                 byte[] ret       = wc.SendReceive(new byte[] { 0 }); // get netid proc
                 wc.Close();
                 BinaryReader rdr = new BinaryReader(new MemoryStream(ret));
                 rdr.ReadByte();
                 ServerNetID            = rdr.ReadUInt32();
                 Statik.LastServerNetID = ServerNetID;
                 Dispatcher.Invoke(() =>
                 {
                     btnSendServer.IsEnabled = true;
                 });
             }
             catch (Exception)
             {
                 Dispatcher.Invoke(() =>
                 {
                     btnSendServer.IsEnabled = false;
                 });
             }
             Thread.Sleep(1000);
         }
     });
     THcheckServer.Start();
 }
示例#2
0
        public List <string> GetLanguages()
        {
            var response     = WClient.DownloadString($"https://translation.googleapis.com/language/translate/v2/languages?key={ApiKey}");
            var deserialized = JsonSerializer.Deserialize <SupportedLanguagesResponse>(response).data.languages;
            var result       = new List <string>();

            foreach (var item in deserialized)
            {
                result.Add(item.language);
            }
            return(result);
        }
示例#3
0
        public List <string> Translate(string sourceLang, string targetLang, string text)
        {
            var response = WClient.UploadString(@$ "https://translation.googleapis.com/language/translate/v2?key={ApiKey}", JsonSerializer.Serialize(new TranslateRequest(text, sourceLang, targetLang, "text")));

            var deserialized = JsonSerializer.Deserialize <TranslateResponse>(response);
            var result       = new List <string>();

            foreach (var item in deserialized.data.translations)
            {
                result.Add(item.translatedText);
            }
            return(result);
        }
    /**
     * Running when instance was created
     * @void
     */
    void Start()
    {
        if (WClient.IsConnected() == true)
        {
            OnConnected();
        }
        else
        {
            OnDisconnected();
        }

        WClient.On(WClient.CONNECTED, OnConnected);
        WClient.On(WClient.CONNECTION_LOST, OnDisconnected);
    }
 private void btnSendServer_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         var    bytes = this.pro.getBytes();
         byte[] tmp   = new byte[bytes.Length + 1];
         tmp[0] = 1;
         Array.Copy(bytes, 0, tmp, 1, bytes.Length);
         WClient wc = new WClient("127.0.0.1", 5999);
         wc.Send(tmp);
         wc.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
示例#6
0
        public string DetectLanguage(string text)
        {
            var response = WClient.UploadString($"https://translation.googleapis.com/language/translate/v2/detect?key={ApiKey}", JsonSerializer.Serialize(new DetectLanguageRequest()
            {
                q = text
            }));
            var    deserialized  = JsonSerializer.Deserialize <DetectLanguageResponse>(response);
            double maxConfidence = 0;
            string targetLang    = null;

            foreach (var detection in deserialized.data.detections)
            {
                foreach (var lang in detection)
                {
                    if (lang.confidence > maxConfidence)
                    {
                        maxConfidence = lang.confidence;
                        targetLang    = lang.language;
                    }
                }
            }
            return(targetLang);
        }
 IEnumerator WebsocketClient()
 {
     // Instantiate a websocket
     this.gameObject.AddComponent <WClient>();
     // Set up listeners
     WClient.On(WClient.EventType.CONNECTED_TO_WS.ToString(), (string arg0) => {
         WClient.Emit(WClient.EventType.KEY.ToString(), APIKey);
     });
     WClient.On(WClient.EventType.CONNECTION_LOST.ToString(), (string arg0) => {
     });
     WClient.On(WClient.EventType.ADD_ENTRY.ToString(), (string message) => {
         // Parse new entry
         Entry entry = ParseEntry(JSON.Parse(message));
         // Download and instantiate content
         DownloadEntryAssets(entry, serverURL);
     });
     WClient.On(WClient.EventType.DELETE_ENTRY.ToString(), (string message) => {
         // Parse data
         string[] messageArray          = message.Split('|');
         string eventType               = messageArray[0];
         string entryID                 = messageArray[1];
         GameObject gameObjectToDestroy = null;
         // Find entry and destroy content
         foreach (CustomBehaviour cb in FindObjectsOfType <CustomBehaviour>())
         {
             if (cb.entry.getId().Equals(entryID))
             {
                 // Remove entry
                 dbObject.getEntries().Remove(cb.entry);
                 // Destroy game object
                 gameObjectToDestroy = cb.gameObject;
                 break;
             }
         }
         if (gameObjectToDestroy != null)
         {
             Destroy(gameObjectToDestroy);
         }
     });
     WClient.On(WClient.EventType.DATA_POST_ALL.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string dataKey        = messageArray[1];
         string dataValue      = messageArray[2];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             // Update or add key
             entry.removeAdditionalData(dataKey);
             entry.addAdditionalData(dataKey, dataValue);
         }
     });
     WClient.On(WClient.EventType.DATA_POST_ENTRY.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string entryID        = messageArray[1];
         string dataKey        = messageArray[2];
         string dataValue      = messageArray[3];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             if (entry.getId().Equals(entryID))
             {
                 // Update key
                 entry.removeAdditionalData(dataKey);
                 entry.addAdditionalData(dataKey, dataValue);
                 break;
             }
         }
     });
     WClient.On(WClient.EventType.DATA_REMOVE_ALL.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string dataKey        = messageArray[1];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             // Remove key
             entry.removeAdditionalData(dataKey);
         }
     });
     WClient.On(WClient.EventType.DATA_REMOVE_ENTRY.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string entryID        = messageArray[1];
         string dataKey        = messageArray[2];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             if (entry.getId().Equals(entryID))
             {
                 // Remove key
                 entry.removeAdditionalData(dataKey);
                 break;
             }
         }
     });
     WClient.On(WClient.EventType.SESSION_INFO.ToString(), (string session) => {
         Debug.Log("Session is: " + session);
     });
     yield return(null);
 }
示例#8
0
 public void Dispose()
 {
     WClient?.Dispose();
 }