UDP协议 和 Tcp协议 网络编程

在这里插入图片描述
Class InetSocketAdress:

网络编程中需要 :

在这里插入图片描述
在这里插入图片描述
构造方法:

在这里插入图片描述
在这里插入图片描述
静态方法:createUnresolved:

在这里插入图片描述
一个简单的UDP协议网络连接:
先将软件连接在自己 ip 地址 和 对应的端口上,在执行代码
在这里插入图片描述
用一个编号的网络连接测试工具:
在这里插入图片描述
在这里插入图片描述

实现接受和发送端:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
import java.util.Scanner;
public class UdpSend {
public static final String IP = “192.168.43.170”;
public static final int S_PORT = 8888 ;
public static final int R_PORT = 9999 ;
public static void main(String[] args) {
DatagramSocket dgs = null;

		try {
			// 获取UDP协议的Socket对象
			dgs = new DatagramSocket(S_PORT);
			Scanner sc = new Scanner(System.in);
			while(true) {
				System.out.println("输入发送的语句:");
				String str = sc.next().trim();
				// 转换为字节
				//byte[] buf = str.getBytes("utf-8");
				byte[] buf = str.getBytes();
				InetSocketAddress ins = new InetSocketAddress(IP , R_PORT);
				// 获取UDP报文对象
				DatagramPacket dgp = new DatagramPacket(buf , 0 ,buf.length ,ins );
				// 发送数据
				dgs.send(dgp);
				System.out.println("发送成功");
			}
			
		} catch (SocketException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			if(dgs != null) {
				
				dgs.close();
			}
		}
		
	}
}

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;

public class Udpreceives {
	public static final String IP = "192.168.0.100";
	public static final int R_PORT = 8888 ;
	public static final int S_PORT = 9999 ;
	public static void main(String[] args) {
		DatagramSocket dgs = null;
		
		try {
		// 获取UDP协议的Socket对象
			dgs = new DatagramSocket(S_PORT);
			System.out.println("服务以及启动");
			while(true) {
			// 创建一个字节数组,用来保存发送过来的数据
				byte[] buf = new byte[1024];
				// 报文头对象
				DatagramPacket dgp = new DatagramPacket(buf ,0 ,buf.length );
				// 接受信息
				dgs.receive(dgp);
				
				String str = new String(buf , 0 ,buf.length);
				
				System.out.println("接受到消息为---》"+str);
			}
			
			
		} catch (SocketException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			if(dgs != null) {
				dgs.close();
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值