以前写的,照贴了。。。服务器端: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程序可以在有JVM的任何系统上运行,这是Java的核心优势,因此Java的应用范围很广。
学会Java可以从事的工作有:
可以做Android:Android手机,随便打开一个APP应用,他们就是用的Java语言。从Android刚刚起步,到今天许多的Android应用都是由Java程序员开发的。虽然Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写的。
可以编写游戏:很多耳熟能详的游戏都是通过Java语言编写的,并且Java不仅仅是在手机端游戏中应用广泛,同样在电脑端也体现了Java语言的强大功能。
可以做Hadoop大数据开发:稍微有点实力的企业都在上大数据项目,而Hadoop本身又是Java开发的,再加上Hadoop工程师薪资普遍比纯Java开发要高3000以上,所以有很多搞Java的都在往Hadoop大数据方向转。
可以做服务器程序:Java在金融服务业的应用非常广泛。许多银行都用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。
可以做嵌入式领域:Java在嵌入式领域发展空间很大。在这个平台上,你只需要130KB就能够使用Java技术(在智能卡或者传感器上)。最初,Java被设计用来在嵌入式设备上工作。事实上,这只是其中的一个领域。
可以做网站领域:Java在电子商务领域以及网站开发领域占据着大部分席位。
除了以上这些,Java在科学应用等领域都有不错的发展前景。想了解更多有关JAVA的相关信息,可以咨询北大青鸟。
祝你学有所成,望采纳。
一般来说,我们的网页代码编程都是基于一定的规则来完成编写的,而大部分的情况下我们采用也是utf的编辑规则。
下面,北京电脑培训http://www.kmbdqn.cn/就通过案例分析来了解一下服务器开发可以使用哪些编码规则。
服务器开发适用哪些编程开发规则那么什么是编码?什么是UTF-8?我们都知道,计算机使用0和1来存储文本。
比如字符“C”被存成“01000011”,那么计算机在显示这个字符时需要经过两个步骤:计算机读取“01000011”,得到数字67,因为67被编码成“01000011”。
计算机在Unicode字符集中查找67,找到了“C”。
同样的:我的电脑将“C”映射成Unicode字符集中的67。
我的电脑将67编码成“01000011”,并发送给Web服务器。
几乎所有的网络应用都使用了Unicode字符集,因为没有理由使用其他字符集。
Unicode字符集包含了上百万个字符。
简单的编码是UTF-32,每个字符使用32位。
这样做简单,因为一直以来,计算机将32位视为数字,而计算机在行的就是处理数字。
但问题是,这样太浪费空间了。
UTF-8可以节省空间,在UTF-8中,字符“C”只需要8位,一些不常用的字符,比如“”需要32位。
其他的字符可能使用16位或24位。
一篇类似本文这样的文章,如果使用UTF-8编码,占用的空间只有UTF-32的四分之一左右。
MySQL的“utf8”字符集与其他程序不兼容,它所谓的“”,可能真的是一坨??MySQL简史为什么MySQL开发者会让“utf8”失效?我们或许可以从提交日志中寻找答案。
MySQL从4.1版本开始支持UTF-8,也就是2003年,而今天使用的UTF-8标准(RFC3629)是随后才出现的。
旧版的UTF-8标准(RFC2279)多支持每个字符6个字节。
2002年3月28日,MySQL开发者在一个MySQL4.1预览版中使用了RFC2279。
同年9月,他们对MySQL源代码进行了一次调整:“UTF8现在多只支持3个字节的序列”。
是谁提交了这些代码?他为什么要这样做?这个问题不得而知。
在迁移到Git后(MySQL开始使用的是BitKeeper),MySQL代码库中的很多提交者的名字都丢失了。
2003年9月的邮件列表中也找不到可以解释这一变更的线索。
评论列表(0条)