本文共 1500 字,大约阅读时间需要 5 分钟。
第 28 卷 第 1 期 湖北广播电视大学学报 Vol.28, No.1 2008 年 1 月 Journal of HuBei TV University January. 2008, 157~158 用 Java 实现多线程 socket 通信 陈小艳 (湖北广播电视大学,湖北 武汉 430074) [内容提要] Java 是一种可用于进行网络编程的语言,它提供的 Socket 通讯类可以用来实现网络上数据信息的传递。本文详细阐述了 Socket 的通信流程,并通过实例讲解了多线程 Socket 通信的实现过程。 [关键词] Java;socket;多线程;通信 [中图分类号] TP31 [文献标识码] A [文章编号] 1008-7427(2008)01-0157-02 Java 是一种可用于进行网络编程的语言,它与 Internet Web 密切结合,提供了两种功能强大的网络支持机制:URL 访问网络资源的类和用 Socket 通讯的类,来满足用户各种不同的要求。Java 的网络类库内容丰富,有多个子类库,可以支持多种 Internet 协议。在这篇文章中,主要介绍多线程socket 编程的 java 实现方法,用到的类为 java.net.Socket 和java.net.ServerSocket。 Socket 也就是套接字,是 TCP/IP 协议的编程接口,是运行在网络上的两个程序间双向通讯连接的末端,它提供客户端和服务器端的连接通道。Socket 绑定于特定端口这样 TCP 层就知道将数据提供给哪个应用程序。 我们先来看一下 socket 通信的流程: 1.服务器端创建 ServerSocket 对象,绑定某个端口,进行监听,等待客户端的连接请求; 2.客户端创建 Socket 对象,向服务器和特定端口请求连接; 3.服务器端接受客户端的连接请求,产生新的 socket,用此 socket 建立和客户端的连接; 4.通过向 socket 读写数据实现服务器端和客户端的通信; 5.通信完毕,服务器端关闭与客户端通信的 socket,客户端 socket 对象关闭,服务器端 serversocket 对象关闭,以及一些其它的结束工作; 清楚了 socket 通信的流程,下面具体考察这两个类。 ServerSocket 类: ServerSocket 对象的创建:ServerSocket server_socket= new ServerSocket(port); 此语句创建了一个 ServerSocket 类的对象 server_socket 它提供监听服务的端口号是 port 得值,如 1234。为了随时监听可能的客户端请求,还应该执行如下的语句: Socket client=server_socket.accept(); Accept()方法的执行,是服务器端的程序一直处于等待状态,直到捕捉到来自客户端的连接请求。 结束监听,需要用到语句 server_socket.close(); Socket 类: 创建 Socket 对象:Socket client_socket=new Socket (hostname,port);其中 hostname 为希望连接到的服务器名称,可以用 IP 表示,port 为其提供服务的端口号。 Socket 对象建立成功后,就可以在客户端和服务器端建立一个连接,并通过此连接传递数据了。 Thead 类: 介绍完ServerSocket类和Socket类,再来看一下多线程。 单线程的程序只有一条从头到
转载地址:http://exowx.baihongyu.com/