黑马程序员-java基础_网络基本

 

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

 

网络编程:

网络通讯要素:

IP地址(InetAddress对象),端口号,传输协议(常用的是TCP、UDP)。

UDP:(聊天、网络视频会议……就是采用UDP,数据不重要只求速度快)

将数据及源和目的封装成数据包中,不需要建立连接

每个数据报的大小在限制在64K内

因是无连接的,所以是不可靠协议

不需要连接,速度快

TCP:

建立连接,形成传输数据的通道

在连接中进行大数据量传输

通过三次握手完成连接,是可靠协议

必须建立连接,效率会稍低

Socket:

它是为网络服务提供的一种机制,

网络的两端都要有Socket

网络通信其实就是Socket间的通信

数据在两个Socket间通过IO传输

UDP:

创建发送UDP的流程:
1、建立UDPSocket服务通过DatagramSocket对象
2、提供数据,并将数据封装到数据包中
(DatagramPacket(byte[] buf,int length,InetAddress address,int port))
3、通过Socket服务的发送功能,将数据发送出去通过send()方法
4、关闭资源。close()方法
创建接收UDP的流程:
1、定义UDPSocket服务通过DatagramSocket对象

通常会监听一个端口。其实就是给这个接收网络应用程序定义数据标识。

2、定义一个数据包(DatagramPacket(byte[] buf,int length))
3、通过socket服务的receive()方法将收到的数据存入已定义好的数据包中
4、通过数据包对象的特有功能,将这些不同的数据取出。打印在控制台上
5、关闭资源
Socket与线程结合就能完成聊天小程序。

TCP:
TCP传输采用Socket(客户端对象)和ServerSocket(服务端对象)

Socket端:
1、创建客户端的Socket服务,指定目的主机的端口
Socket socket=new Socket("172.18.70.136",8888);
2、为了发送数据,应该获取socket流中的输出流

OutputStream out=socket.getOutputStream();
ServerSocket端:

1、创建服务器端的Socket服务,并监听一个端口。ServerSocket();
2、获取连接过来的客户端对象,通过ServerSocket的accept方法,没有连接就会等,这个方法是阻塞式的。
3、客户端如果发过来数据,服务端要使用对应的客户端对象 ,并获取到该客户端对象的读取流来该读取发过来的数据,并打印在控制台。
4、关闭服务端(可选)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值