Java网络之TCP和UDP
来源:互联网 发布:js html data 编辑:程序博客网 时间:2024/05/18 01:59
1.网络基础
网络之间的连接是必须遵守相应的协议,网络协议是分层的,同层间可以通信,上层可以调用下一层,而通信协议规定,用户的应用程序是最高层,物理通信最为最底层,我们就只管和最高层之间通信,这样就编程方便许多,不用涉及底层代码,而其他层之间的通信内部有人去实现,我们不必太关注这方面。分层有一定标准,并非胡乱分层:
理解:应用层即我们编写的程序层,传输层就是TCP和UDP层,我们就和传输层打交道,网络层就是IP层,物理+数据链路层是最底层。
IP:IP协议是网络层的主要协议,支持网间互联的数据报通信,它的最大好处是提供了独一无二的ip。其主要功能是无连接数据报传送、数据报路由选择和差错控制。
ip地址本身占了四个字节,每个字节的最大是255,有点ip是真实ip,有的是虚拟ip,公网必须是真实的,而我们笔记本的ip其实是虚拟ip。网络分三类:
TCP和UDP协议:
TCP协议:是专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议,它是一种面向连接的协议,有三次握手协议,即一个请求必须有一个返回,所以安全性较高,同时效率较低。
UDP协议:UDP向应用程序提供了一种发送封装的原始IP数据报的方法、发送时不需要建立连接,是一种不可靠的连接,即请求之后无需响应,直接开始下一个请求。但是它的效率很高。
1.TCP socket网络编程
两个java应用程序之间可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个socket。
java中需要的包在java.net,建立连接是需要远程计算机的IP地址和端口号(port),每一个地址有65536个端口。
代码:
首先建立一个类,作为服务器端,
import java.net.*
public class TCPServer {
public static void main(String[] args) throws Exception{
//启动一个服务器,并且指定端口号
ServerSocket ss = new ServerSocket (“6666”);
//接收客户端的连接请求,在循环内表示无限接收,不止一个
while(true){
Socket s = ss.accept();
}
}
}
建立一个客户端,
import java.net.*
public class TCPClient {
public static void main(String[] args) throws Exception{
//连接请求
Socket s = new Socket (“127.0.0.1”,“6666”);
}
}
3.UDP socket网络编程
UDP是不需要建立连接的,所以直接将请求发送就行,
客户端:
阅读全文
0 0
- Java 网络编程之TCP和UDP
- Java之网络编程UDP和TCP
- Java网络之TCP和UDP
- java网络编程之UDP和TCP的
- Java 网络概述 和 TCP 和 UDP
- java网络编程之UDP与TCP
- Java网络编程之TCP、UDP
- Java 网络编程之 TCP/UDP
- java网络编程之UDP、TCP协议
- java基础之网络基础tcp\udp
- Java网络编程:TCP和UDP
- JAVA网络编程TCP和UDP
- java个人笔记之UDP和TCP
- Java之TCP和UDP代码实例
- java基础学习网络编程之UDP和TCP协议 十四 -3
- JAVA网络编程 TCP、UDP
- java网络编程----TCP UDP
- Java网络编程,UDP TCP
- Oracle/MySQL/SQL Server修改表字段类型和长度
- 机器学习与数据挖掘入门指导
- Tensorflow教程-递归神经网络
- oracle插入时如何自动生成主键
- 关于myeclipse svn插件 和 TortoiseSVN 共用的问题解决
- Java网络之TCP和UDP
- storm介绍一
- struts2的执行流程
- SQL Server关于WITH CUBE、WITH ROLLUP和GROUPING使用
- C/C++和Qt中数据类型转换
- 文件上传下载接收端
- nio的实现原理
- 如何安装plsql连接oracle服务端
- 一步一步教你如何使用WebSocket实现群聊