java中ServerSocket和Socket的简单用法
2013-08-05 22:09
369 查看
1.Socket 与ServerSocket区别
①在java网络编程中,这两个容易混。ServerSocket用于绑定端口,如果写服务器一定要用。而Socket就是普通的连接套接字,用于建立网络连接,做客户端要用到,服务端也要用。
②所谓socket也成为“套接字”,用于描述IP地址和端口。
③在客户端与服务端连接成功后,两端都会产生一个Socket实例。
2.java.net.Socket常用的方法有三个
①accept方法,用于产生阻塞。直接连接到一个连接,并返回一个客户端的Socket对象实例。“阻塞”的意思就是使程序运行到此暂时停止,直到接收到会话,才继续。通常“阻塞”由循环产生
②getInputStream获得网络连接输入,同时返回一个InputSteram对象实例
③getOutputStream连接的另一端将得到输入,同时返回一个OutputStream对象实例。
PS:其中getInputStream和getOutputStream就会产生一个IOException,必须被捕获,因为他们返回的流对象,通常会被另一个流对象使用。
3.Server-Client模型开发的原理
服务器:
使用ServerSocket指定监听的端口(一般选1024以上),然后等待客户端连接,一旦连接成功,就产生会话;会话结束后就关闭会话。
客户端:
使用Socket对网络上某一个服务器的某个端口发出连接请求,若连接成功就打开会话,会话完成后就关闭Socket。
①ServerSocket类
创建一个ServerSocker类,同时在指定端口处建立一个监听服务,如:
②Socket对象
当Client需要从Server获取信息时,应创建一个Socket对象:
PS:ServerSocket一般仅用于设置端口号和监听,真正用于二者通信的还是服务端的Socket和客户端的Socket。
4. 如果创建了一个Socket对象,那么它可通过getInputStream()方法从服务程序获取输入流传送来的信息,也可通过调用getOutputStream()方法获得输出流来发送消息。
①在java网络编程中,这两个容易混。ServerSocket用于绑定端口,如果写服务器一定要用。而Socket就是普通的连接套接字,用于建立网络连接,做客户端要用到,服务端也要用。
②所谓socket也成为“套接字”,用于描述IP地址和端口。
③在客户端与服务端连接成功后,两端都会产生一个Socket实例。
2.java.net.Socket常用的方法有三个
①accept方法,用于产生阻塞。直接连接到一个连接,并返回一个客户端的Socket对象实例。“阻塞”的意思就是使程序运行到此暂时停止,直到接收到会话,才继续。通常“阻塞”由循环产生
②getInputStream获得网络连接输入,同时返回一个InputSteram对象实例
③getOutputStream连接的另一端将得到输入,同时返回一个OutputStream对象实例。
PS:其中getInputStream和getOutputStream就会产生一个IOException,必须被捕获,因为他们返回的流对象,通常会被另一个流对象使用。
3.Server-Client模型开发的原理
服务器:
使用ServerSocket指定监听的端口(一般选1024以上),然后等待客户端连接,一旦连接成功,就产生会话;会话结束后就关闭会话。
客户端:
使用Socket对网络上某一个服务器的某个端口发出连接请求,若连接成功就打开会话,会话完成后就关闭Socket。
①ServerSocket类
创建一个ServerSocker类,同时在指定端口处建立一个监听服务,如:
ServerSocket lisenter = new ServerSocket(4000);这里指定的监听端口为4000,为了随时监听可能的Client请求,执行如下语句:
Socket so = listener.accept();这时程序会一直阻塞直到捕捉到一个来自Client的请求,并返回一个用于与该Client通信的Socket对象so。此后Server只要向so读写数据即可实现与Client会话。
②Socket对象
当Client需要从Server获取信息时,应创建一个Socket对象:
Socket socket = new Socket("ServerName",4000);Socket类构造函数有两个参数,第一个为要连接的主机名称,第二个为Server的端口。然后可以使用getInputStream()和getOutputStream()在二者之间通信。
PS:ServerSocket一般仅用于设置端口号和监听,真正用于二者通信的还是服务端的Socket和客户端的Socket。
4. 如果创建了一个Socket对象,那么它可通过getInputStream()方法从服务程序获取输入流传送来的信息,也可通过调用getOutputStream()方法获得输出流来发送消息。
相关文章推荐
- Java 中ServerSocket与Socket 通信的简单示例
- Java&&Android Socket简单用法
- Java网络学习笔记4:ServerSocket用法
- Java 多线程ServerSocket通讯简单实例(基于TCP协议)
- Java网络编程精解之ServerSocket用法详解一
- java网络编程——Socket和ServerSocket,套接字编程——简单聊天室
- java网络编程一:Socket用法,简单模拟一对一聊天
- java网络编程一:Socket用法,简单模拟一对一聊天
- [转] Java网络编程精解之ServerSocket用法详解一
- java-用java.net.Socket和java.net.ServerSocket实现简单的聊天程序
- java用socket和serversocket实现一对一聊天(java实现简单的TCP聊天程序)
- java的网络连接Socket与ServerSocket与集合的用法
- java ServerSocket 用法详解(二)
- Java网络编程学习笔记(3)ServerSocket用法详解
- java中ServerSocket 与 Socket的用法和区别
- Java网络编程精解之ServerSocket用法详解一2
- Java网络编程精解之ServerSocket用法详解二1
- 简单通过java的socket&serversocket以及多线程技术实现多客户端的数据的传输,并将数据写入hbase中
- 拿来主义:java中socket和serversocket 的用法
- java网络编程一:Socket用法,简单模拟一对一聊天