笔者在工作中,常常接触到网络通讯相关的内容,经常需要着手解决一些网络通讯相关的疑难杂症。排查网络问题的时候,往往需要借助一些工具,而很多时候自己想要的功能,网上又未能找到匹配度高的exe工具。无奈之下,有的时候就不能不自己码代码,写一些【为我所用】的测试代码,来帮助自己完成问题的排查。
本文主要介绍一个TCP服务器端的测试程序,它的主要功能是:接收TCP客户端的连接,当收到客户端发送的消息后,立刻给客户端回复收到的消息;这个功能,通俗来讲,就叫【回显】。别看它很简单,但是在实际排查网络问题时,确实非常地有效。
通过本文的阅读,你将了解到以下内容:
- TCP客户端/服务器代码逻辑的剖析
- TCP服务器端如何获取客户端的IP地址和端口信息
- TCP回显测试服务器的使用和验证
鉴于笔者主要集中在Linux环境编程,以下所有讲解都是基于Linux环境;如在Windows环境下编程,可能需要更改相应的网络编程API,修改后的功能读者自行验证。
TCP客户端/服务器代码逻辑的剖析
在Linux环境下,要实现网络通讯,我们一般采用的都是socket编程;但是,Linux环境下的socket编程是一个大类,并不仅仅只有网络编程才是socket编程,有一种叫Unix Domain Socket编程,它也叫socket编程。只不过它一般不用于远程的网络通讯,而是用于