Sockets教程翻译(1)-关于Sockets
摘要:
本文主要简单地介绍了Java中的Sockets机制,看完本文后理论上你可以:
大概知道Sockets是用来干啥滴,反正我看完跟没看只有很小区别,可能是理解力不足的缘故吧,我觉得没JAVA Web Start那教程那么清晰
唠叨:
本系列文章(Sockets教程翻译)均翻译自The Java Tutorials,首发于Javaeye(嗯...现在叫ITEYE),在翻译过程中其实我对这篇文章也没有清晰的了解,所以难免有理解错误或其他不足之处,所以建议阅读到本文的朋友,看看英文原文 。
-------------------懒惰的分界线-------------------
关于Sockets
?
在JAVA中有两个相对高级的机制让你可以方便去访问互联网上的资源,分别是URLs以及URLConnections。但是有些时候你的程序会需要一些比较基础的网络访问,例如当你需要编写一个C/S(客户端/服务器端)结构的应用程序。
在C/S结构的应用程序中,服务器端会提供一些服务,比如处理数据库查询或者是传送股票当前价格等,而客户端的则透过使用服务器所提供的服务,为用户提供显示数据库查询结果或生成股票投资建议等功能。
在服务器端与客户端之间的通信是安全可靠的,也就是说不会有数据丢失而且数据一定会发送到服务器指定的客户端之中。
TCP协议提供啊可靠的、点对点的通信通道让C/S结构的应用程序可以利用互联网安全地通信。客户端程序和服务器端程序通过TCP协议进行通信,连接到对方。
在通信过程中,每个程序都会绑定一个Socket,客户端和服务端都透过过绑定在自身的Socket来向对方读取和写入数据,直到连接结束为止才解除对Socket的绑定。
?
Socket是什么?
Socket是网络上两个程序之间的双向通信通道的一个端点。Socket类是用来表示客户端程序和服务器程序之间的连接。java.net包提供了两个类来实现客户端与服务器端之间的连接,分别为Socket和ServerSocket。
?
Socket的数据读取和写入
这个小例子展示了如何在客户端程序中向Socket读取以及写入数据。
编写C/S结构的程序
上一个例子介绍了如何去写一个客户端程序通过Socket去与已有的服务器进行通信。
这个例子则介绍如何去编写服务器端的程序。