浏览 2192 次
锁定老帖子 主题:基于TCP的Socket应用
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-21
UDP(User Datagram Protocol)用户数据报协议 Scoket的基本概念 1.Socket,也就是俗称的套接字。 2.Sun Java 中的定义:是运行在网络上的两个程序间双向通讯连接末端,它提供客户端和服务器端的连接通道。socket绑定于特定端口这样TCP层就知道将数据提供给哪个应用程序。 3、字面上的理解,Socket的意思是"插座、孔",你还可以把它形象地理解为打电话用的电话机,你从听筒里听到对方声音,同时将声音通过话筒传给对方。 Socket编程实现原理(从连接的简历到连接的结束,每个socket应用都大致包括以下几个基本步骤): 1、服务器端socket绑定于特定端口,服务器侦听socket等待连接请求; 2、客户端向服务器和特定端口提交连接请求; 3、服务器接受连接,产生一新的socket,绑定到另一端口,由此socket来处理和客户端的交互,服务器继续侦听原socket来接受其他客户端的连接请求; 4、连接成功后客户端也产生一socket,并通过它来与服务器端通讯(注意客户端socket并不与特定端口绑定); 5、接下来,服务器端和客户端就通过读取和写入各自的socket来进行通讯。 java中的Socket类 java中提供两个类(在java.net包中)——Socket和ServrSocket来分别实现客户端和服务器端Scoket。但Socket的实际工作是由抽象类SocketImpl的实例来完成的,这其实是设计模式中AbstractFactory模式的一个应用。 ServerSocket类的常用构造器和主要方法: ServerSocket(int port)在指定的端口号上产生一服务器端socket Socket accept() 侦听socket,接受连接 Socket类的常见构造器和主要方法: Socket(String host, int port) 生成一socket并连接至指定的主机和端口 InputStream getInputStream() 返回socket的输入流 OutputStream getOuputStream() 返回socket的输出流 文章来自[SVN中文技术网]转发请保留本站地址:http://www.svn8.com/java/Socket/20080927/1022.html 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-01
有兴趣的可以看看飞鸽的设计思路 感觉还是不错的 用UDP去维护在线用户.
|
|
返回顶楼 | |