以前写的,照贴了。。。服务器端:import java.awt.*\x0d\x0aimport java.awt.event.WindowAdapter\x0d\x0aimport java.awt.event.WindowEvent\x0d\x0aimport java.io.*\x0d\x0aimport java.net.*/*6、 采用UDP协议,编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。\x0d\x0a* 客户端指定一个服务器上的文件名,让服务器发回该文件的内容,或者提示文件不存在。\x0d\x0a* (20分)(服务端程序和客户端程序分别命名为Server.java和Client.java)*/\x0d\x0apublic class N4BT6 extends Frame\x0d\x0a{\x0d\x0aDatagramSocket socket \x0d\x0aDatagramPacket packet byte[] buf \x0d\x0aFile file \x0d\x0aFileInputStream input\x0d\x0aString message = "该文件不存在"\x0d\x0aTextArea text\x0d\x0apublic N4BT6(String title)\x0d\x0a{\x0d\x0asuper(title)\x0d\x0atext = new TextArea(6,4)\x0d\x0aadd(text)\x0d\x0asetSize(400, 300)\x0d\x0asetVisible(true)\x0d\x0aaddWindowListener(new WindowAdapter()\x0d\x0a{\x0d\x0apublic void windowClosing(WindowEvent e)\x0d\x0a{\x0d\x0adispose()\x0d\x0a}\x0d\x0a})\x0d\x0a\x0d\x0abuf = new byte[1024]\x0d\x0atry\x0d\x0a{\x0d\x0asocket = new DatagramSocket(1230)\x0d\x0apacket = new DatagramPacket(buf, buf.length)\x0d\x0asocket.receive(packet)\x0d\x0afile = new File(new String(packet.getData()))\x0d\x0asocket = new DatagramSocket()\x0d\x0a} \x0d\x0acatch (Exception e)\x0d\x0a{e.printStackTrace()\x0d\x0a}\x0d\x0a\x0d\x0aif(file.exists())\x0d\x0a{\x0d\x0atry\x0d\x0a{\x0d\x0abuf = new byte[(int)file.length()]\x0d\x0apacket = new DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),1234)\x0d\x0ainput = new FileInputStream(file)\x0d\x0ainput.read(buf)\x0d\x0asocket.send(packet)\x0d\x0a}\x0d\x0acatch (IOException e) \x0d\x0a{\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0aelse\x0d\x0a{\x0d\x0atry\x0d\x0a{\x0d\x0apacket = new DatagramPacket(message.getBytes(),message.getBytes().length,\x0d\x0aInetAddress.getLocalHost(),1234)\x0d\x0asocket.send(packet)\x0d\x0a}\x0d\x0acatch (Exception e) \x0d\x0a{\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a}\x0d\x0apublic static void main(String[] args)\x0d\x0a{\x0d\x0anew N4BT6("Server")\x0d\x0a}\x0d\x0a}\x0d\x0a客户端:import java.awt.*\x0d\x0aimport java.awt.event.*\x0d\x0aimport java.net.DatagramPacket\x0d\x0aimport java.net.DatagramSocket\x0d\x0aimport java.net.InetAddresspublic class N4BT6_2 extends Frame\x0d\x0a{\x0d\x0aTextArea text\x0d\x0aString message = "Q.txt"\x0d\x0aDatagramSocket socket \x0d\x0aDatagramPacket packet\x0d\x0abyte[] buf\x0d\x0apublic N4BT6_2(String title)\x0d\x0a{\x0d\x0asuper(title)\x0d\x0atext = new TextArea(6,4)\x0d\x0aadd(text)\x0d\x0asetSize(400, 300)\x0d\x0asetVisible(true)\x0d\x0aaddWindowListener(new WindowAdapter()\x0d\x0a{\x0d\x0apublic void windowClosing(WindowEvent e)\x0d\x0a{\x0d\x0adispose()\x0d\x0a}\x0d\x0a})\x0d\x0atry\x0d\x0a{\x0d\x0a\x0d\x0asocket = new DatagramSocket()\x0d\x0apacket = new DatagramPacket(message.getBytes(),message.getBytes().length,\x0d\x0aInetAddress.getLocalHost(),1230)\x0d\x0asocket.send(packet)\x0d\x0a}\x0d\x0acatch (Exception e) \x0d\x0a{\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a\x0d\x0atry\x0d\x0a{\x0d\x0abuf = new byte[1024]\x0d\x0asocket = new DatagramSocket(1234)\x0d\x0apacket = new DatagramPacket(buf,buf.length)\x0d\x0asocket.receive(packet)\x0d\x0atext.append(new String(buf))\x0d\x0a}\x0d\x0acatch (Exception e) \x0d\x0a{\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0apublic static void main(String[] args)\x0d\x0a{\x0d\x0anew N4BT6_2("Client")\x0d\x0a}\x0d\x0a}java是跨平台编程语言,java可以用于网络编程比如java中的servlet、jsp、ssh框架和ejb都是用于网络应用程序开发的比如网站开发等等;如果你指的是纯粹的网络编程比如QQ通信软件这种,java亦可以搞定,java有强大的网络编程类库。
java网络编程应该怎样在客户端和服务器间实现通信?
给您推荐相同类型的内容:
python无法访问手机存储文件夹
无法访问的原因是某一个磁盘中保存了Python的编译环境。在这个编译的环境下,存在一个python.exe文件,然后又对文件换了一个地方存储,所以就会找不到指定的程序文件。解决方法如下:1、进入到pycharm中,找到菜单栏中的“file”C语言中的“--”的用法
1、左移运算符(<<):按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。格式:需要移位的数字 <<移位的次数例如:3<<23转换为二Go语言事件请求处理程序(Event Handler)
在Go语言的代码中,您需要引入官方的SDK库 aliyunserverlessfc-runtime-go-sdkfc,并实现handler函数和main函数。 示例如下:传入的event参数是一个包含key属性的J利用python写一段读取电脑配置信息的程序
主要利用python的wmi模块,提供非常多的信息。import wmidef sys_version(): c = wmi.WMI() # 操作系统版本,版本号,32位64位 print('nOS:回归分析 | R语言 -- 多元线性回归
多元线性回归是简单线性回归的扩展,用于基于多个不同的预测变量(x)预测结果变量(y)。 例如,对于三个预测变量(x),y的预测由以下等式表示:y = b0 + b1*x1 + b2*x2 + b3*x3回.net是什么语言?
。net是微软新一代的编程架构,不仅仅是vb的升级,采用.NET的新运行库,有很多地方都不同。开发工具例如MicrosoftVisualStudio,里面带有VB.NET和c#.net两种编程工具,分别对应于VB语言和C#语言。.NET不是Go语言安装与镜像配置
安装网址https:studygolang.comdl国内镜像https:goproxy.cn Go 1.13 及以上(推荐打开你的终端并执行macOS 或 Linux或 如鸿蒙系统全量包是什么意思?
全量包就是完整的鸿蒙系统安装包,增量包或者补丁包是在原有鸿蒙系统的基础上添加补丁或做修改的升级包。当然两者最后结果是一样的,也就是更新鸿蒙系统安装包。通俗的讲:全量包包含全部,增量包只是不同部分。意义华为的鸿蒙操作系统宣告问世,在全球引如何使用Java发送qq邮件
方法:1.前提准备工作: 首先,邮件的发送方要开启POP3 和SMTP服务--即发送qq邮件的账号要开启POP3 和SMTP服务2.开启方法:登陆qq邮箱 3.点击设置4.点击—-账户 5.找到:POP3IMAPSMTPExchapython中包是什么
python包包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。pythoenscape安装教程
enscape安装教程方法如下:工具:华硕A456U,win10系统,enscape。1、首先,点击“V-Ray_2_0_for_sketchup_2015_64位_顶渲简体中文加强版_2015_03_08-x1”之后会弹出的一个授权码如何升级HarmonyOS 3 Beta版?哪些机型可以第一时间升级?
升级HarmonyOS 3 Beta版需要做到:首先需要的是在华为的应用市场上找到并更新华为APP至最新的版本。接下来是在升级尝鲜里面的Harmonyos 2检查更新,安装最新的系统版本。 版本安装之后进入主页,这个时候的主页会显示出阅读报利用python将excel宏代码变成软件exe
1、安装将Python代码转成exe的工具包,pyinstaller:需要打开cmd,在cmd里输入一行命令即可。2、安装好pyinstaller工具包后,要在cmd里跳转地址到Python代码所在的文件地址,输入命令,即可将Python代php是什么意思
php通常指超文本预处理器,用于面向对象、命令式编程,是一种通用开源脚本语言。主要特点:为开源性和免费性、快捷性、数据库连接的广泛性、面向过程和面向对象并用。优点是利于学习,使用广泛。此外,php还可以指菲律宾比索的标准货币代码符号,M手机页面是harmonyos下载最新版本恢复不了怎么办
1. 请确保当前使用的是华为官方版本,且为 HarmonyOS 版本,并且未进行任何非官方版本升级,否则有回退不成功的风险,甚至可能引入未知问题。如果升级过非官方系统包,建议前往华为客户服务中心恢复系统。2. 请确保当前版本没有进行过任何解如何在Mac OS X上安装 Ruby运行环境
在Mac OS X上安装 Ruby运行环境:在安装CocoaPods之前要先配置好RUBY环境,本文就怎么安装RUBY的环境进行一总结。安装Ruby环境首先需要安装Xcode然后需要安装Homebrew,接下来需要安装RVM最后安装Rubypython-字典
1、字典: 两大特点:无序,键唯一 无序存储,键值对的形式存储数据 键是唯一不可修改的,不能用列表做键 2、python中不可变类型:整形,字符串,元组 可变类型:字典,列表 3、字典中方法: 增加:.net是什么语言?
.net是微软新推出的一种编程框架理论。NET语言的全称应该是ASP.NET,是微软新推出的一种编程框架理论或者说是一种编程标准,它可以通过微软出品的Visual Studio 开发工具进行项目开发,应用于网站类的开发一般使用C#语言进行.net开发好学吗
好学,有编程基础的人学的很快。如果学过java基本上2周就能搞定,学过其他面向对象的也很快。.Net主要分前台语言和后台语言,前台就是制作页面布局的语言。常用的比如javascript,html,jquery,extjs后台语言分为c#和vjad是什么设备
反编译工具。Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。jad一般是手机java程序下载引导用的,意思是你运行了jad,手机会联网给你下python 自带的 idle 如何清空窗口
1、首先点击开始菜单,在开始菜单中安装的python目录下点击‘IDLE(Python3.664-bit)‘,进入IDLE。2、下图中的界面就是IDLE的界面,可以在这个界面中进行python的变成,在下图的窗口中可以看到‘>&Go语言怎么样?
根据Go趋势报告显示,全球范围内有 110 万专业开发者选择Go作为其主要开发语言。如果把以其他编程语言作为主要开发语言,同时也在使用Go的开发者计算在内,这一数字将高达270万,中国的Go语言开发者排名第一,全球占比超过16%。Go 语RUBY元编程怎么样
在java的时代,因为不满面向类对象的复杂机制,自己借鉴研究了对象装备模式,后来发现就是spring的原理。当时不知spring的情况下,还自己实现了利用运行时反射机制来动态的给对象设置空类,拼装方法共享实例对象属性,做出来虽然很欣慰,但华为鸿蒙系统是什么
华为鸿蒙系统是面向全场景的分布式操作系统。华为鸿蒙系统是一款全新的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源python列表的基本操作
python列表的基本操作如下:01 '''02 列表:有非常重要的地位。(list)03 [项,项...]04 '''05 list1=['zhang sanphp中$符号是什么意思
$这个符号的意思是:变量PHP采用的是C语言的语法,但是也有一些区别。$符号加上字符串,这就是来一个变量源名或对象名。MyClass是个类名,不用加$符号。$_val是个私有变量,一般是以$加下划线加字符串组成的,foo和foo1是两个C语言中%什么意思
“%”在c语言中有两种释义,一是求余符号,经常会用到判断一个数是不是能被另一个整除;二是引导符,用于引导输入输出项表列的格式,C语言运算符号的种类编辑:1、算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除()、求余(或python中tryexcept函数可以用什么函数代替
python中try...except函数可以用if..else函数代替。在while循环内部,fast指针每次向前走两步,这时候我们就要判断fast的next指针是否为None,不然对fast.next再调用next指针的时候就会报异常,R语言学习DAY04:回归分析
R本身是一门统计语言,主要用于统计分析,前面的语法部分算是基础,接下来开始进入统计模型应用。首先从最常用的回归分析说起。 有关线性回归分析模型的基本假定需要注意:1)关于随机干扰项的高斯-马尔科夫定理;2)关于自变量的:不存在共线性;3R语言如何创建n行相同矩阵
步骤如下:主要介绍一下利用matrix函数和rep生成矩阵。在R语言中可以使用matrix()函数来创建矩阵,其语法格式如下:matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)。r