Пример #1
0
        private static void onConnected(ZitiConnection connection, ZitiStatus status)
        {
            ZitiUtil.CheckStatus(status);

            string cfg = connection.Service.GetConfiguration("weather-config-type");

            string where = null;
            if (cfg == null)
            {
                where = "London";
                Console.WriteLine("The service does not have a configuration of type 'weather-config-type' - using default: " + where);
            }
            else
            {
                where = JsonDocument.Parse(cfg).RootElement.GetProperty("where").ToString();
            }
            byte[] bytes = Encoding.UTF8.GetBytes($"GET /{where} HTTP/1.0\r\n"
                                                  + "Accept: *-/*\r\n"
                                                  + "Connection: close\r\n"
                                                  + "User-Agent: curl/7.59.0\r\n"
                                                  + "Host: wttr.in\r\n"
                                                  + "\r\n");

            connection.Write(bytes, afterDataWritten, "write context");
        }
Пример #2
0
        private static void onClientAccept(ZitiConnection clientConnection, ZitiStatus status)
        {
            ZitiUtil.CheckStatus(status);

            string msg = "Hello from byte counter!";

            clientConnection.Write(Encoding.UTF8.GetBytes(msg), msg.Length, afterDataWritten, ZitiUtil.NO_CONTEXT);
        }
Пример #3
0
 private static void listenCallback(ZitiConnection connection, ZitiStatus status)
 {
     if (status == ZitiStatus.OK)
     {
         Console.WriteLine("Byte Counter is ready! %s", status.GetDescription());
     }
     else
     {
         Console.WriteLine("ERROR: The Byte Counter could not be started! " + status.GetDescription());
         connection.Close();
         Environment.Exit(0);
     }
 }
Пример #4
0
        private static void onConnected(ZitiConnection connection, ZitiStatus status)
        {
            ZitiUtil.CheckStatus(status);

            Console.WriteLine("sending HTTP request: " + connection.ConnectionContext);

            string payload = @"GET / HTTP/1.0
Host: eth0.me
User-Agent: curl/7.55.1
Accept: */*

";

            byte[] bytes = System.Text.Encoding.UTF8.GetBytes(payload);

            connection.Write(bytes, afterDataWritten, "write context");
        }
Пример #5
0
 private static void onData(ZitiConnection connection, ZitiStatus status, byte[] data)
 {
     if (status == ZitiStatus.OK)
     {
         ms.Write(data); //collect all the bytes to display contiguously at the end of the program
     }
     else
     {
         if (status == ZitiStatus.EOF)
         {
             ConsoleHelper.OutputResponseToConsole(ms.ToArray());
             Console.WriteLine("request completed: " + status.GetDescription());
             connection.Close();
             Environment.Exit(0);
         }
         else
         {
             Console.WriteLine("unexpected error: " + status.GetDescription());
         }
         ConsoleHelper.OutputResponseToConsole(ms.ToArray());
     }
 }
Пример #6
0
        private static void onClientData(ZitiConnection clientConnection, byte[] data, int len, ZitiStatus status)
        {
            if (status == ZitiStatus.OK)
            {
                string recd = Encoding.UTF8.GetString(data);
                Console.WriteLine("client sent: " + recd);

                string reply = "counted bytes: " + recd.Length;
                clientConnection.Write(Encoding.UTF8.GetBytes(reply), reply.Length, aftterDataWritten, ZitiUtil.NO_CONTEXT);
            }
            else
            {
                if (status == ZitiStatus.EOF)
                {
                    Console.WriteLine("request completed: " + status.GetDescription());
                }
                else
                {
                    Console.WriteLine("unexpected error: " + status.GetDescription());
                }
                clientConnection.Close();
                Environment.Exit(0);
            }
        }
Пример #7
0
 private static void afterDataWritten(ZitiConnection connection, ZitiStatus status, object context)
 {
     ZitiUtil.CheckStatus(status);
 }
Пример #8
0
 private static void afterDataWritten(ZitiConnection connection, ZitiStatus status, object context)
 {
     //don't do anything in c# - nothing to free up here
     Console.WriteLine("data has been written: " + context?.ToString());
 }
Пример #9
0
 private static void onData(ZitiConnection connection, ZitiStatus status, byte[] data)
 {
     Console.WriteLine(Encoding.UTF8.GetString(data));
 }
Пример #10
0
 private static void onConnected(ZitiConnection connection, ZitiStatus status)
 {
     connection.Write(Encoding.UTF8.GetBytes("greetings!"), afterDataWritten, "context?");
 }
Пример #11
0
 private static void onClientConnect(ZitiConnection serverConnection, ZitiConnection clientConnection, ZitiStatus status)
 {
     Console.WriteLine("Client is connected");
     clientConnection.Accept(onClientAccept, onClientData);
 }
Пример #12
0
 private static void onData(ZitiConnection connection, ZitiStatus status, byte[] data)
 {
 }