golang和unity3d进行通信绘图。。。

大洋的顶端 · · 2172 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一般GO语言是来写服务器,主要是省事线程的编写的过程。

和UNITY3D来进行通信

主要代码

func main() {

	Addr, _ := net.ResolveTCPAddr("tcp4", ":6000")

	listener, err := net.ListenTCP("tcp", Addr)
	if err != nil {
		fmt.Fprintf(os.Stderr, "错误: %s", err.Error())
		os.Exit(1)
	}
	for {
		conn, err := listener.Accept()
		if err != nil {
			continue
		}
		go handleClient(conn)
	}
}

func handleClient(conn net.Conn) {
	defer conn.Close()
	var buf [128]byte
	for {
		n, err := conn.Read(buf[0:])
		if err != nil {
			return
		}
		rAddr := conn.RemoteAddr()
		fmt.Println("接受的消息:", rAddr.String(), string(buf[0:n]))
		_, err2 := conn.Write([]byte("6*0.5"))
		if err2 != nil {
			return
		}
	}
}

 

在u3d中有编写代码来接受收到的参数:


		ClientSocket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

		string ip = GetIP ().ToString ();//服务器ip
		Debug.Log (ip);
		IPAddress ipa = IPAddress.Parse (ip);

		IPEndPoint iep = new IPEndPoint (ipa, 6000);

		try {

			ClientSocket.Connect (iep);//连接到服务器

		thread = new Thread (new ThreadStart (ClientReceive));

			thread.Start ();

		} catch (Exception ex) {

			Debug.Log (ex.Message);

			clientReceiveValue = ex.Message;

		}

然后编写两个线程,一个接受,一个发送,收到的参数进行游戏或者程序绘图。

 


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:大洋的顶端

查看原文:golang和unity3d进行通信绘图。。。

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2172 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传