[黑马程序员]--Java语言网络编程
来源:互联网 发布:录音笔 知乎 编辑:程序博客网 时间:2024/05/22 17:46
------- android培训、java培训、期待与您交流! ----------
网络模型
OSI(Open System Interconnection开放系统互连)参考模型
TCP/IP参考模型
网络通信要素:
1.IP地址 InetAddress//获取本机
InetAddress id = InetAddress.getLocalHost();
System.out.println(id.toString());
//获取主机名
System.out.println(id.getHostName());
//获取IP
System.out.println(id.getHostAddress());
//获取百度 所有 主机的 IP地址
InetAddress [] id = InetAddress.getAllByName("www.baidu.com");
for(InetAddress i : id)
{
System.out.println(i.getHostName());
System.out.println(i.getHostAddress());
}
2.端口号
3.传输协议 TCP 和 UDP
TCP和UDP的区别:
TCP传输控制协议:
提供的是面向链接、可靠的字节流服务。当客户和服务器彼此交换数据之前,必须现在双方之间建立一个TCP链接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP是用户数据协议,是一个简单的面向数据报的运输层协议。
UDP:不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。用于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
UDP与TCP的主要区别:
在于UDP不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误的到达目的地。UDP在许多方面非常有效。当某个程序的目标是尽快的传输尽可能多的信息是(其中任意给定数据的重要性相对较低),可使用UDP.ICQ短消息使用UDP协议发送消息。许多程序将使用单独的TCP链接和单独的UDP链接。重要的状态信息随可靠的TCP链接发送,而主要数据通过UDP发送
UDP传输:
DatagramSocket与DatagramPacket(UDP的两个对象)
建立发送端,接收端。
建立数据包。
调用Socket的发送接收方法。
关闭Socket。
发送端与接收端是两个独立的运行程序。
TCP
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,效率会稍低
特点:(白话文)
1,面向连接,通过三次握手确定连接。
2,可靠,相对较慢,因为先要确定连接。
TCP传输:
Socket和ServerSocket
建立客户端和服务器端
建立连接后,通过Socket中的IO流进行数据的传输
关闭socket
同样,客户端与服务器端是两个独立的应用程序。
没端点,没连接,没IO,没传输。
Tcp传输最容易出现的问题:
客户端连接上服务端,两端都在等待,没有任何数据传输。
通过例程分析:
因为read方法或者readLine方法是阻塞式。
解决办法:
自定义结束标记
使用shutdownInput,shutdownOutput方法。
------- android培训、java培训、期待与您交流! ----------
- [黑马程序员]--Java语言网络编程
- 黑马程序员——Java语言:网络编程
- 黑马程序员-java网络编程
- 黑马程序员--java网络编程
- 黑马程序员-java-网络编程
- 黑马程序员 Java网络编程
- 黑马程序员----java网络编程
- 黑马程序员---网络编程【java】
- 黑马程序员 java网络编程
- 黑马程序员:JAVA网络编程
- 黑马程序员 Java网络编程
- 黑马程序员-java 网络编程
- 黑马程序员-------Java网络编程
- 黑马程序员------java网络编程
- 黑马程序员-java网络编程
- 黑马程序员 java 网络编程
- 黑马程序员-Java网络编程
- 【黑马程序员】java网络编程
- Win32串行通信中文版(Serial Communications In Win32)
- IOS谓词--NSPredicate
- c++中typedef的用法(一)
- 金山词霸抓词机理 -- HOOK消息功能的使用
- 照片按拍摄日期管理工具
- [黑马程序员]--Java语言网络编程
- 如何让大脑放松(学生必读)
- hdu1995
- 重载new, 查内存泄露
- 感动!一张温暖的罚单
- Windows环境下Eclipse--autoconf
- struts2乱码问题
- Bloom Filter概念和原理
- Linux sh命令