TCP/UDP

写应用程序偶尔会枯燥,闲了可以玩玩通信编程。试试和自己说话,哈哈!
一。通信协议分层
从用户应用程序到物理通信线路(传输介质)之间的协议处理分为若干层。对于软件开发人员分为物理链路层,网络层(IP),传输层(TCP/UDP),应用层。
二。编程中的TCP/UDP
1.TCP:是一种端到端的可靠的字节流通信协议,他是一种面向连接的协议,TCP连接是字节流而非报文流。
2.UDP:是向应用程序提供的一种发送封装的原始IP数据报的发放,并且发送时无需建立连接。是一种不可靠的连接。
三。网络编程之Socket编程
1.java.net包提供了网络编程的接口。建立连接时候所需的寻址信息为远程计算机的IP地址和端口号。
2.TCP编程
在客户端用Socket类并设定客户端的IP地址和端口(服务器端设定的端口),在服务器端用ServerSocket类并设定服务器端的端口号
。然后实例化一个客户端的Sorcket并接受从客户端传来的数据,然后输出。可以实现数据的同步传输,但是这样有一个
缺点,就是在服务器端还没接受到一个客户端传输的数据的时候另一个客户端不能连接到服务器。这就是端到端的弊端
3.UDP编程
在客户端用DatagramPacket类将要传递的数据和客户机的ip以及端口封装到这类的对象中,然后用DatagramSocket类的send()方法将数
据包发送给服务器。服务器端先定义一个字节数组然后实例化DatagramPacket类(并将字节数组和大小作为参数存放在此类中)并实例化一个DatagramSocket然后将客户端传递的数据存储在DatagramPacket。

原文地址:https://www.cnblogs.com/itzone/p/2869204.html