c# - Socket program for hololens/unity app -


i developing app in unity hololens need connect remote server. have written tcp based program based on info , examples available online.

using system; using system.collections; using system.collections.generic; using unityengine; using unityengine.ui; using unityengine.vr.wsa.input;  // used uwp sockets using windows.networking; using windows.networking.sockets; using windows.storage.streams; using system.text; using system.net; using system.net.sockets; using system.threading.tasks;  public class server_script: monobehaviour {      textmesh textobject;      string hostip = "192.168.1.1";     string serverport = "8000";     string data;      socket w_sock;      streamsocket h_sock;     streamsocketlistener h_socklist;     hostname serverhost;     datareader reader;     datawriter writer;      string str_val;      stringbuilder strbuilder;      bool isconnected = false;      // use initialization     void start () {          serverhost = new hostname(hostip);          task.run(async () => { await connectasync(serverhost, serverport); });         task.run(async () => { await readasync(); });     }      private async task connectasync(object host, object port)     {         h_sock = new streamsocket();          h_sock.control.nodelay = false;          try         {             await h_sock.connectasync(serverhost, serverport.tostring());             isconnected = true;             str_val = "connected";             await writeasync(str_val);             await readasync();             textobject.text = str_val;         }         catch         {             textobject.text = "error: connection not found";         }      }      private async task readasync()     {         if (!isconnected)         {             return;         }          using (reader = new datareader(h_sock.inputstream))         {             strbuilder = new stringbuilder();             reader.inputstreamoptions = inputstreamoptions.partial;             reader.unicodeencoding = windows.storage.streams.unicodeencoding.utf8;             reader.byteorder = byteorder.littleendian;              var count = await reader.loadasync(1024);             data = reader.readstring(1024);             if (count > 0)             {                 strbuilder.append(reader.readstring(count));                 reader.detachstream();             }         }     }      private async task writeasync(string textobj)     {         writer = new datawriter(h_sock.outputstream);         writer.writebytes(encoding.utf8.getbytes(textobj));         await writer.storeasync();         writer.detachstream();      }  } 

problem when running app async task connectasync never gets called task.run(async () => { await connectasync(serverhost, serverport); });

same read , write functions :

task.run(async () => { await readasync(); }); task.run(async () => { await writeasync(str_val); });

not sure wrong in here , if kindly tell me why these lines not getting executed ?


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -