标签:
socket通信是指两台计算机的两个程序之间的通信,双向链路的每一端都称为一个socket,但分为客户机和服务器。
java.net提供了ServerSocket和Socket类,分别用于服务器和客户端。
通信过程:
建立Socket连接,客户端程序申请连接,服务器端程序监听所有端口,判断是否有客户端的服务器请求,当客户端申请某个端口连接时,服务器将对方的ip和端口号绑定形成套接字,这样服务器和客户机就建立了一个专用虚拟连接,可以相互通信了,通信结束后将虚拟连接拆除。
编程步骤:服务器先建立一个服务器套接字ServerSocket,并指定端口号监听客户机请求,然后建立一个Socket用来和客户机通信,客户机建立端建立同一端口的Socket以便和服务器通信。
java.net包含以上两个类:
主要方法说明:
ServerSocket(int port)在指定端口上创建服务器Socket对象
ServerSocket(int port,int count)count 为最大连接数
Sorket(InetAddress IP,int port)使用指定IP和端口建立Socket对象
Sorket(String host,int port)使用指定主机和端口建立Socket对象
以上两个方法有对三个选项 boolean stream(布尔值表示是否选用流式通信)
可以用Socket类的 getInputstream 和getOutstream来读写数据的输入输出流。但要进行异常处理,读取输入输出流后要建立更容易操作的InputStreamReader和Out..... 通信结束后close(Socket)断开连接。
Socket应用:
标签:
原文地址:http://www.cnblogs.com/hitxx/p/4511636.html