了解Unix/Linux的人都知道,一般而言,只会在服务器端的监听进程才会指定端口,那么客户端的进程是否也能够指定端口呢?
我们同样利用bind函数来为客户端的进程指定端口。
首先,我们运行一个不指定端口的客户端程序,看一下数据包传输的情况:
1.通过sudo tcpdump命令打开工具软件
2.执行客户端程序
3.观察数据包传输的情况
结果如下:
关于数据包的内容我就不解释了,我们只要知道,master是客户端,39400是客户端进程的端口,下面重复一次上面的操作,结果如下:
我们发现,前后两次执行的客户端进程所用的端口不一样了,虽然说端口由操作系统来指定,可是为什么要换一个呢?
我们通过netstat -an命令来查看端口状态,如下图: