我对Unity很新,但我创建了一个应用程序,只需单击一个按钮就可以向一个非常简单的TCP服务器控制台应用程序发送一条简单的TCP消息。当我在我的电脑上运行时,代码工作得很好,但是当我为Android构建它并通过我的手机测试时,消息无法到达服务器。我做错了吗?简单的TCP交互与android有什么不同吗?这是我的Unity代码:
public Texture btnTexture;
public GUIStyle style;
TcpClient mySocket = new TcpClient();
public NetworkStream theStream;
public String Host = "my_ip_address";
public Int32 Port = 8888;
public bool sent = false;
StreamWriter theWriter;
StreamReader theReader;
void OnGUI()
{
if (GUI.Button (new Rect ((Screen.width / 2) - Screen.width/4, (Screen.height / 2) - Screen.height/4,
Screen.width/2, Screen.width/2), btnTexture))
{
if(!sent)
{
mySocket = new TcpClient(Host, Port);
theStream = mySocket.GetStream();
theWriter = new StreamWriter(theStream);
theReader = new StreamReader(theStream);
sent = true;
}
theWriter.Write("TCP Message" + " $");
theWriter.Flush();
//Application.LoadLevel ("Page1");
}
}
答案 0 :(得分:0)
从您发布的日期看,回答它可能为时已晚。但是,我遇到了一些熟悉的问题但是使用iOS。我希望这对那些后来会搜索它的人有所帮助。
我建议您深入了解用于连接TCP连接的库。对于我的问题,原因来自TCP库正在使用的解析库。解析库是某些iOS没有的东西。