Java网络编程之传输控制协议 - 编程入门网
重要的理论概念,它广泛用于实际应用程序中。目 前也有其它的通讯模型,例如对等(peer to peer)模型,在这种模型中每一方 都可以启动通讯。但是客户端/服务器概念是更加流行的选择,因为它很简单并 且在多数网络编程中使用。
2、网络客户端 网络客户端启动连接,通常处理网络事务。服务器程序用于实现客户端的请 求--客户端不用实现服务器的请求。尽管客户端处于控制地位,但是服务器端仍 然有一些功能。客户端可以要求服务器删除本地文件系统的所有文件,但是服务 器并不是必须执行这个任务的。 网络客户端使用双方都同意的通讯标准(即网络协议)与服务器对话。例如 HTTP客户端使用的命令组就与邮件客户端使用的不同,而且目的也完成不同。把 HTTP连接到邮件服务器,或邮件客户端连接到HTTP服务器,要么会出现一个错误 消息,要么出现一个客户端不能理解的错误消息。因为这个原因,作为协议规格 的一部分,必须使用某个端口号,这样客户端才能定位服务器。Web服务器通常 运行在80端口上,而其它一些服务器可能运行在非标准的端口上,URL的习惯是 不列出端口的,它假定使用80端口。 3、网络服务器 网络服务器的角色是绑定某个特定的端口(客户端使用它定位服务器),并 且监听新的连接。尽管客户端是临时的,并且只有在用户选中的时候才运行,但 是服务器程序必须不间断地运行(即使实际上没有已连接的客户端),期望某个 客户端在某个时刻需要该服务。服务器程序通常作为数据自适应监视器进程引用 ,使用Unix用法。它持久的运行,而且一般在该服务器程序的主机启动时启动。 因此服务器一直等待,直到某个客户端建立到该服务器端口的连接。有些服务器 程序在某个时刻只能处理单个连接,其它一些服务器程序可以通过使用多线程同 时处理多个连接。 当开始连接后,服务器就服从客户端。它等待客户端发送请求,并且"忠实地 "处理它们(可是服务器可以响应错误信息,特别是当请求违反某些重要地协议 规则或有安全风险的时候)。某些协议(例如HTTP/1.0)通常在每个连接中只允 许一个请求,而其它一些协议(例如POP3)支持一系列请求。服务器可以通过发 送响应或错误消息应答客户端的请求。学习新的网络协议(编写客户端或服务器 )与学习一种新的语言相似,只是语法改变了。但是典型情况下,它的命令的数 量更小,使事情更简单。服务器的行为一部分由协议决定,一部分由开发者决定 (某些命令是可选的,服务器不一定支持)。 Java网络编程之传输控制协议(3)时间:2010-12-16 天极 陶刚三、TCP套接字和Java Java提供了对TCP套接字的良好的支持,有两种套接字类:java.net.Socket 和java.net.ServerSocket。当编写连接到已有服务的客户端软件的时候使用 Socket类。当编写绑定到本地端口以提供服务的服务器软件的时候使用 ServerSocket类。这是与DatagramSocket的UDP工作方式不同的地方--在TCP中, 连接服务器地和从客户端接收数据的函数被分为两个独立的类。 Java网络编程之TCP第二部分降再周六发表,在这一部分中我将详细介绍J2EE 规范中的Socket类的体系结构,在下周推出的第三部分中,将介绍如何构建客户 端和服务器端程序,同时介绍另一个重要的类:ServerSocket;敬请期待。 四、Socket类 Socket类表现了客户端套接字,它是属于一台或两台计算机的两个TCP通讯端 口之间的通讯通道。端口可以连接到本地系统的另一个端口,这样可以避免使用 另一台计算机,但是大多数网络软件将使用两台计算机。但是TCP套接字不能与 两台以上的计算机通讯。如果需要这种功能,客户端应用程序必须建立多个套接 字连接,每台计算机一个套接字。 构造函数 java.net.Socket类有几个构造函数。其中两个构造函数允许使用布尔 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |