UDP通信和GUI实现简单的窗体通信

概述

本文是使用GUI创建了这么一个对话窗体,其中涉及的知识有GUI(窗体,键盘监听等)和一些基础知识(多线程,网络编程(UDP通信)等)。下面首先来说一下UDP通信。(至于为什么不说GUI,是因为GUI无论实在工作中还是面试中都不会用到,因此在这里就不阐述GUI了!)

网络编程

众所周知网络的产生拉近了人与人之间的距离,从最开始的简单通信到今天,而通信需要一定的规则协议,我们把这种协议称之为通信协议。此外网络编程知识中的:IP,端口号等我在这里就不在过多叙述,一个URL(俗称网址)的组成必定少不了它们!这里主要针对于本文去稍加阐述一下UDP和TCP两种协议!

基于传输层的API

TCP

概念

TCP为传输控制协议,通常是一个面向连接的协议,它可以把数据当做双向字节流进行交换以便于达到传输的目的。主要用于文件下载,如我们常用的迅雷等软件。

如何实现通信

ServerSocket类和Socket(套接字)类结合IO流的知识来实现通信:会用到ServerSocket中的accept()方法和Socket中的获取输入输出流相关方法等)。

UDP

概念

UDP为用户数据包协议,是一种面向无连接的协议,一次性发送多个数据包,也可以接受多个数据包。它只负责发送,不负责是否接收到,因此效率高的同时也不安全!

如何实现通信

DatagramSocket和DatagramPacket两个类去实现通信,会用到DatagramSocket中的send()和receive()方法及DatagramPacket中的getData()和getLength()方法。

二者区别

TCP :面向连接,适用于传输大量数据,效率较低,传输安全。
UDP:面向无连接,适用于传输少量数据,效率高,传输不安全。
二者都可以用来实现通信!!!

窗体通信

结构

上中下三块区域(panel),四个按钮,一个地址区域!
在这里插入图片描述

创建结构相关代码

public void centerPanel() {
		Panel center=new Panel();//创建中间的panel
		viewText = new TextArea();
		sendText = new TextArea(5,1);
		center.setLayout(new BorderLayout());//设置为边界布局管理器
		center.add(sendText,BorderLayout.SOUTH);//发送的文本区域放在下边
		center.add(viewText,BorderLayout.CENTER);//显示文本区域放在中间
		viewText.setEditable(false);//设置上panel不能编辑
		viewText.setBackground(Color.WHITE);//设置显示区域背景颜色
		sendText.setFont(new Font("xxx", Font.PLAIN, 15));//设置发送区域的文字类型,样式,大小
		viewText.setFont(new Font("xxx", Font.PLAIN, 15));//设置显示区域的文字类型,样式,大小
		this.add(center,BorderLayout.CENTER);
	}


public void xiaPanel() {
	Panel xia=new Panel();//创建下面的panel
	tf = new TextField(15);
	tf.setText("127.0.0.1");
	send = new Button("发送");
	log = new Button("记录");
	clear = new Button("清屏");
	shake = new Button("震动");
	
	xia.add(tf);
	xia.add(send);
	xia.add(log);
	xia.add(clear);
	xia.add(shake);
	this.add(xia,BorderLayout.SOUTH); 
}

按钮功能代码(GUI监听)

	private void event() {
			this.addWindowListener(new WindowAdapter() {
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值