我想编写一个简单的客户端/服务器程序,利用TCP套接字进行通信。有没有关于如何在Go语言中进行网络编程的建议?
Go语言对网络编程的支持非常好。
对于服务器而言,最简单的做法是在main()
中启动一个TCP接受循环,并为每个请求生成一个goroutine进行处理。
我写的第一个Go软件是一个memcached服务器。你可以参考gomemcached来了解如何入手建立服务器。
客户端不应该难到哪里去。在许多情况下,最合理的做法可能是使用一种共享的客户端,利用goroutine进行入站通信,就像我在gomemcached中用于与实际存储层通信一样。
当然,这并不是唯一的方法。也许你会在实验中发现更好的东西。