手机环境实时Log到电脑

发布于 2017-12-01  527 次阅读


C#Udp + Python

当项目需要真机测试时,且必须在手机上才能测试时,这个找Bug的过程是非常痛苦的。在这里我们可以自己写一个Udp Log类,然后电脑运行自己写好的Python脚本,这样就可以完成实时Log到电脑了。

 

C#代码部分

 public class LogToServer {

         private static IPAddress GroupAddress = IPAddress.Parse("192.168.1.106");

         private static int GroupPort = 12345;
         private static UdpClient sender;
         private static IPEndPoint groupEP;
         private static string Prefix = ">";

         public static void Send(string message) {

             sender = new UdpClient();

             groupEP = new IPEndPoint(GroupAddress, GroupPort);

             message = Prefix + GetTime() + message;

             try {

                 byte[] bytes = Encoding.ASCII.GetBytes(message);

                 sender.Send(bytes, bytes.Length, groupEP);

                 sender.Close();

             } catch(Exception e) {

             }
         }

         private static string GetTime() {

             string str = "";

             DateTime now = DateTime.Now;
             str = now.ToString("HH:mm:ss.fff") + " ";
             str = "[" + str + "]" + ": ";
             return str;
         }
     }
在这里写好自己需要Log的电脑上的IP,以及确认端口是否被占用。当然这里也可以通过判断当前的环境是否为手机端,然后不同的平台Debug的方式不一样,这样我们可以在写代码时,调用同一个API,然后做不同的事。

Python 部分




#!/usr/bin/python from socket import * HOST = '192.168.1.106' PORT = 12345 s = socket(AF_INET, SOCK_DGRAM) s.bind((HOST, PORT)) print 'Waiting...' while True :     data, address = s.recvfrom(1024)     print data s.close() print 'over'

我的运行环境是Mac, 所以我可以直接在Terminal上面 ./这个文件的名字  来运行。


What doesn’t kill you makes you stronger.