Socket网络通讯
什么 是网络模型 网络编程的本质是两个设备之间的数据交换,当然,在 计算机网络 中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。 现在的网络编程基本上都是基于请求 /响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。 在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端 (Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。例如以打电话为例,首先拨号的人类似于客户端,接听电话的人必须保持电话畅通类似于服务器。 连接一旦建立以后,就客户端和服务器端就可以进行数据传递了,而且两者的身份是等价的。 在一些程序中,程序既有客户端功能也有服务器端功能,最常见的软件就是 BT、emule这类软件了。 下面来谈一下如何建立连接以及如何发送数据。 IP 地址 与 域名 在现实生活中,如果要打电话则需要知道对应人的电话号码,如果要寄信则需要知道收信人的地址。在网络中也是这样,需要知道一个设备的位置,则需要使用该设备的 IP地址,具体的连接过程由硬件实现,程序员不需要过多的关心。 IP地址是一个规定,现在使用的是IPv4,既由4个0-255之间的数字组成