论坛首页 Java企业应用论坛

基于TCP的Socket应用

浏览 2170 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-02-21  
TCP:Transmission Control Protocol 传输控制协议
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
   发表时间:2009-03-01  
有兴趣的可以看看飞鸽的设计思路 感觉还是不错的  用UDP去维护在线用户.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics