1.1 客户端程序和服务端程序
网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的——客户端和服务器端。
网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接。一般的来说是服务端的程序在一个端口上监听,直到有一个客户端的程序发来了请求。
1.2 常用的命令
由于网络程序是有两个部分组成,所以在调试的时候比较麻烦,为此我们有必要知道一些常用的网络命令:
- netstat
命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息。netstat有许多的选项,我们常用的选项是 -an,用来显示详细的网络状态。至于其它的选项我们可以使用帮助手册获得详细的情况。 - telnet
telnet是一个用来远程控制的程序,但是我们完全可以用这个程序来调试我们的服务端程序的。比如我们的服务器程序在监听8888端口,我们可以用telnet localhost 8888来查看服务端的状况。
1.3 TCP/UDP介绍
TCP(Transfer Control Protocol)传输控制协议是一种面向连接的协议,当我们的网络程序使用这个协议的时候,网络可以保证我们的客户端和服务端的连接是可靠的,安全的。
UDP(User Datagram Protocol)用户数据报协议是一种非面向连接的协议,这种协议并不能保证我们的网络程序的连接是可靠的,所以我们现在编写的程序一般是采用TCP协议的。