Java【U16?

端口:物理连接。[0,65535]。[0,1023]为专用,普通用户使用的为1024以上。
套接字Socket连接应用程序与接口。
在这里插入图片描述

TCP程序

在这里插入图片描述
1、java.net.InetAddress类:与IP地址相关
在这里插入图片描述
抛出异常:UnknownHostException。

2、java.net.ServerSocket类:服务器套接字,等待网络请求与指定端口的套接字连接。一个服务器套接字一次只能连一个套接字。
多台客户机同时发出连接请求:serversocket将客户机存入队列,从中取一个连。队列默认大小50。若请求连接数>最大容纳数,多出的会被拒绝。
抛出异常均为IOException。
构造方法:
在这里插入图片描述

accept():返回与客户端Socket对象相连接的Socket对象。该方法会阻塞线程继续执行,直到接收客户呼叫。
若语句无客户呼叫,accept()未阻塞,则一般是程序使用了一个被其它程序占用的端口号,ServerSocket绑定失败。

服务器端对象通过getOutputStream()获得的输出流→客户端Socket对象通过getInputStream()获得的输入流。即:
服务器向输出流写入信息,客户端可通过相应的输入流读取。反之也是。

3、单向通信:客户机→服务器。

UDP

数据打包→数据包,发送接收。
在这里插入图片描述
receive()方法:没有数据时会阻塞直至有数据。否则是使用了其余程序占用的端口号。
1、java.net.DatagramPacket:数据包。
DatagramPacket(byte[] b,int length):内存空间、大小
DatagramPacket(byte[] b,int length,InetAddress address,int port):目标地址、端口

2、java.net.DatagramSocket:接发包的套接字。
DatagramSocket():套接字绑到主机任何可用的接口
DatagramSocket(int port):绑定到指定端口
DatagramSocket(int port,InetAddress address):绑定到指定本地地址。适用多网卡多IP

接收要有指定端口,发送可以随机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值