关于TCP/IP戳下方链接
http://blog.csdn.net/goodboy1881/article/category/204448
URL类:用于解析URL,返回该地址的信息如协议名,端口号,ip地址等
使用BufferedReader可以从URL获取html文档内容。
URL url = new URL("http://www.baidu.com");
URLConnection类:URLConnection类表示了应用程序和URL资源之间的通信连接
try { URL ibm = new URL("http://www.sise.com.cn"); URLConnection gc = ibm.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader(gc.getInputStream())); String str; while ((str = in.readLine()) != null) System.out.println(str); in.close(); }catch (Exception e) { e.printStackTrace(); } }结果输出html文档代码
InetAddress类:InetAddress是Java对IP地址的封装,在java中很多类使用到它。
InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取InetAddress的实例,或者使用数字来构造,并且启用了反向主机名解析的功能)。InetAddress类提供了将主机名解析为IP地址(或反之)的方法。
获取本机ip地址
try{ InetAddress ia=InetAddress.getLocalHost(); System.out.println(ia.getHostAddress()); System.out.println(ia.toString()); }catch(UnknownHostException uhe){
<span style="white-space:pre"> </span>.... }
Socket(套接字)类:在C/S结构软件的客户端和服务器之间定义一套通信协议,并创建一个socket类,并利用这个类建立一条可靠的连接。
客户端发送请求到服务器,服务器接收请求并作出响应,称为“请求—应答”模式。
socket以两种模式操作:面向连接的模式:使用TCP/IP协议
无连接模式:使用用户数据包协议(UDP)
TCP编程:
简单聊天程序:
//服务器端代码主要片断 int i = 0;// 计数 try { ServerSocket ss = new ServerSocket(2345);// 创建ServerSocket对象 System.out.println("服务器启动......"); while (true) { Socket socket = ss.accept();// 等待客户端连接,并生成Socket对象 i++;// 计数 System.out.println("接受连接请求" + i); //得到Socket的输出流,并包装 PrintStream out = new PrintStream(socket.getOutputStream()); out.println("你好!“+i); out.close(); socket.close(); if (i>=3)//连接数大于等于3时,服务器程序退出 break; } } catch (IOException e) { System.out.println(e); }
//客户端代码主要片断 try { Socket sock = new Socket("127.0.0.1", 2345);// 创建Socket对象,地址与端口要对应服务器的值 // 对Socket的输入流进行包装 BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream())); String s = in.readLine(); System.out.println(s); in.close(); } catch (IOException e) { System.out.println("error!"); }(为了不相互影响,还应使用单独线程对应一个套接字)
UDP编程:
UDP协议是
一种
无连接的协议
,它以
数据报
作为数据传输的载体。
数据报的传输次序、到达时间以及内容本身等都不能得到保证
,
数据报的大小最多为
64KB
;
UDP协议
无需在发送方和接收方建立连接
,数据报在网上可以以任何可能的路径传往目的地。
其特点;快速传输
具体实现略。
TCP与UDP的比较
TCP
是面向连接的协议
.UDP
是一个不可靠协议,可能会丢失数据包
.
发送方所发送的数据报并不一定以相同的次序到达接收方
.
使用
UDP
传输数据有大小限制
,
每个传输数据报限定在
64KB
之内
.TCP
没限定
.
UDP
资源消耗小、处理速度快
TCP:URL,URLConnection,Socket,ServerSocket类
UDP:DatagramPacket,DatagramSocket,MulticastSocket类.
使用范围:
TCP:FTP等
UDP:ICQ(QQ),音频、视频传送等