Socket 学习

Http 端口号 80 FTP 端口号 21
这里写图片描述
InetAddress类

    InetAddress address = InetAddress.getLocalHost();
    address.getHostName() 获取主机名
    address.getHostAddress() 获取IP地址
    InetAddress.getByName("1.1.1.10"); 根据ip地址获取InetAddress实例
    InetAddress.getByName("laurenyang") 根据主机名获取InetAddress实例

这里写图片描述

TCP

服务端:

ServerSocket serverSocket = new ServerSocket(8888);//创建服务端socket并设置端口号。
InputStream is = socket.getInputStream();//字节输入流
InputStreamReader isr = new InputStreamReader(is)//将字节流转化为字符流
BufferedReader br = new BufferedReader(isr)//为输入流添加缓存

客户端:

Socket socket = new Socket("localhost",8888);//创建客户端socket实例 并设置Ip地址 和 端口号 
OutputStream os = socket.getOutputStream();//创建输出流 PrintWriter pw = new PrintWriter(os);//将输出流包装为打印流
pw.write("用户名:admin;密码:1p234");
pw.flush();//刷新缓存

UDP

服务端:

DatagramSocket socket=new DatagramSocket(8800);//UDP协议的Socket 创建DatagramSocket实例,并设置端口号
byte[] data =new byte[1024];//接收数据 存入字节数组中 设置大小
DatagramPacket packet=new DatagramPacket(data, data.length);//
创建DatagramPacket实例   并设置接收的数据和数据大小
socket.receive(packet);//接收数据,从绑定接收数据 Socket 到接收缓冲区中。
String info=new String(data, 0, packet.getLength());//把字节转化为字符串数组 设置  数据 和长度
System.out.println(info);//在控制台输出数据

客户端

InetAddress address=InetAddress.getByName("localhost");//获取IP地址
int port=8800;//设置端口号
byte[] data="用户名:admin;密码:123".getBytes();//设置要发送的数据
DatagramPacket packet=new DatagramPacket(data, data.length, address, port);//创建DatagramPacket数据报实例 并设置 发送的数据  数据长度  IP地址   和端口号
DatagramSocket socket=new DatagramSocket();
socket.send(packet);//相应客户端   将要发送的数据报发送给客户端
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值