只想知道 发表于 2015-1-18 11:31:17

发布一篇Java编程那些事儿103――收集编程手艺2

java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
13.2.3TCP编程
依照后面的先容,收集通信的体例有TCP和UDP两种,个中TCP体例的收集通信是指在通信的过程当中坚持毗连,有点相似于打德律风,只必要拨打一次号码(创建一次收集毗连),就能够屡次通话(屡次传输数据)。如许体例在实践的收集编程中,因为传输牢靠,相似于打德律风,假如甲给乙打德律风,乙说没有听分明让甲反复一遍,直到乙听分明为止,实践的收集传输也是如许,假如发送的一方发送的数据吸收方以为有成绩,则收集底层会主动请求发送方重发,直到吸收方收到为止。
在Java言语中,关于TCP体例的收集编程供应了优秀的撑持,在实践完成时,以java.net.Socket类代表客户端毗连,以java.net.ServerSocket类代表服务器端毗连。在举行收集编程时,底层收集通信的细节已完成了对照高的封装,以是在程序员实践编程时,只必要指定IP地点和端标语码就能够创建毗连了。恰是因为这类高度的封装,一方面简化了Java言语收集编程的难度,别的也使得利用Java言语举行收集编程时没法深切到收集的底层,以是利用Java言语举行收集底层体系编程很坚苦,详细点说,Java言语没法完成底层的收集嗅探和取得IP包布局等信息。可是因为Java言语的收集编程对照复杂,以是仍是取得了普遍的利用。
在利用TCP体例举行收集编程时,必要依照后面先容的收集编程的步骤举行,上面分离先容一下在Java言语中客户端和服务器真个完成步骤。
在客户端收集编程中,起首必要创建毗连,在JavaAPI中以java.net.Socket类的对象代表收集毗连,以是创建客户端收集毗连,也就是创立Socket范例的对象,该对象代表收集毗连,示比方下:
Socketsocket1=newSocket(“192.168.1.103”,10000);
Socketsocket2=newSocket(“www.sohu.com”,80);
下面的代码中,socket1完成的是毗连到IP地点是192.168.1.103的盘算机的10000号端口,而socket2完成的是毗连到域名是www.sohu.com的盘算机的80号端口,至于底层收集怎样完成创建毗连,关于程序员来讲是完整通明的。假如创建毗连时,本机收集欠亨,或服务器端程序未开启,则会抛出非常。
毗连一旦创建,则完成了客户端编程的第一步,紧接着的步骤就是依照“哀求-呼应”模子举行收集数据互换,在Java言语中,数据传输功效由JavaIO完成,也就是说只必要从毗连中取得输出流和输入流便可,然后将必要发送的数据写进毗连对象的输入流中,在发送完成今后从输出流中读取数据便可。示例代码以下:
OutputStreamos=socket1.getOutputStream(); //取得输入流
InputStreamis=socket1.getInputStream();  //取得输出流
下面的代码中,分离从socket1这个毗连对象取得了输入流和输出流对象,在全部收集编程中,后续的数据互换就酿成了IO操纵,也就是遵守“哀求-呼应”模子的划定,先向输入流中写进数据,这些数据会被体系发送进来,然后在从输出流中读取服务器真个反应信息,如许就完成了一次数据互换历程,固然这个数据互换历程能够屡次举行。
这里取得的只是最基础的输入流和输出流对象,还能够依据后面进修到的IO常识,利用流的嵌套将这些取得到的基础流对象转换成必要的粉饰流对象,从而便利数据的操纵。
最初当数据互换完成今后,封闭收集毗连,开释收集毗连占用的体系端口和内存等资本,完成收集操纵,示例代码以下:
socket1.close();
<p>
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。

莫相离 发表于 2015-1-21 09:21:38

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

若相依 发表于 2015-1-25 15:05:59

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

小妖女 发表于 2015-2-2 22:33:46

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

精灵巫婆 发表于 2015-2-5 14:40:52

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

谁可相欹 发表于 2015-2-27 05:10:21

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

海妖 发表于 2015-3-8 21:51:50

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

飘飘悠悠 发表于 2015-3-16 14:24:53

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

若天明 发表于 2015-3-22 23:13:12

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

山那边是海 发表于 2015-4-21 10:38:12

是一种为 Internet发展的计算机语言

admin 发表于 2015-4-26 04:09:07

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

灵魂腐蚀 发表于 2015-4-28 19:46:09

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

老尸 发表于 2015-5-8 21:10:41

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

不帅 发表于 2015-5-11 20:50:09

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

活着的死人 发表于 2015-5-11 23:29:57

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

柔情似水 发表于 2015-6-6 09:46:04

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

金色的骷髅 发表于 2015-6-11 15:55:46

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

兰色精灵 发表于 2015-6-15 19:59:23

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

愤怒的大鸟 发表于 2015-6-22 00:19:16

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

再见西城 发表于 2015-6-28 03:51:27

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
页: [1]
查看完整版本: 发布一篇Java编程那些事儿103――收集编程手艺2