java支持网络编程是什么意思(什么叫网络编程)

http://www.itjxue.com  2023-02-02 05:57  来源:未知  点击次数: 

请用通俗易懂的语言描述一下java的网络编程。记住,要通俗易懂哦

网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据。程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴。在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可。所以,基础的网络编程可以和打电话一样简单。

java网络编程包含些什么

针对网络通信的不同层次,Java提供的网络功能有四大类:InetAddress 、URLs、Sockets、Datagram

1、InetAddress面向的是网络层(IP层),用于标识网络上的硬件资源。

2、 URL面向的应用层,通过URL,Java程序可以直接送出或读入网络上的数据。

3、 Sockets和Datagram面向的则是传输层。Sockets使用的是TCP协议,这是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道进行通信。Datagram则使用UDP协议,是另一种网络传输方式,它把数据的目的地纪录在数据包中,然后直接放在网络上。

为什么说java是面向网络编程

java是跨平台编程语言,java可以用于网络编程比如java中的servlet、jsp、ssh框架和ejb都是用于网络应用程序开发的比如网站开发等等;如果你指的是纯粹的网络编程比如QQ通信软件这种,java亦可以搞定,java有强大的网络编程类库。

什么是Java网络编程

网络编程主要是指网络通信,实现计算机与计算机之间的对话和文件传输等,就像QQ,飞秋,P2P点对点传输等等

怎样理解java中的网络编程

Java中的网路编程主要是Java的Socket编程,属于JavaEE中的高级的部分,以下内容是对java网路编程的一个小结,代码都是经过编译调试的

C/S程序应用:客户/服务器模式,如QQ客户端,客户端连到服务器上,一个C/S模式的应用必须有两套程序,一个是客户端的程序,一个是服务器程序。

B/S程序应用:浏览器/服务器模式,如当下的各种网站都是B/S模式,所有的程序代码都在服务器上,用户通过浏览器去访问。

C/S程序分为两种:

基于TCP协议:Socket(套接字), 可靠的编程: A-B 如打电话先建立连接

基于UDP协议:不可靠,如短信功能。

如果编写一个TCP程序需要JAVA的两个包支持:

java.net.*: 主要提供网络支持;

|-ServerSocket类:服务器端程序

|-Socket类:客户端程序

java,io.*:传递信息流

客户端的两个功能:

1.建立Socket

2.接收输入的命令(输入流)-网络上传输的程序考的是字节流

以下是服务器端,客户端的两个事例程序,服务器端想客户端输出Hello word, 客户端接收并显示;

服务器程序:

import?java.io.*;

import?java.net.*;

public?class?TCPSever?{

?

????/**

?????*?@param?args

?????*?@throws?IOException

?????*/

????public?static?void?main(String[]?args)?throws?IOException?{

????????//?TODO?Auto-generated?method?stub

????????//使用ServerSocket

????????ServerSocket?server?=?new?ServerSocket(8000);

?

????????//每个用户在程序中就是一个Socket

????????Socket?client?=?null;

?

????????//等待客户端连接

????????client?=?server.accept();

?

????????//像客户端打印信息

????????PrintWriter?out?=?null;

?

????????//准被向客户端打印信息

????????out?=?new?PrintWriter(client.getOutputStream());

????????out.println("Hello?World");

????????out.close();

????????client.close();

????????server.close();

????}

?

}

客户端程序:

package?Client;

import?java.io.*;

import?java.net.*;

?

public?class?TCPClient?{

?

????/**

?????*?@param?args

?????*?@throws?IOException

?????*?@throws?UnknownHostException

?????*/

????public?static?void?main(String[]?args)?throws?UnknownHostException,?IOException?{

????????//?TODO?Auto-generated?method?stub

????????//表示一个客户端的Socket

????????Socket?client?=?null;

?

????????//表示一个客户端的输入信息

????????BufferedReader??buf?=?null;

????????client?=?new?Socket("localhost",8000);

????????buf?=?new?BufferedReader(new?InputStreamReader(client.getInputStream()));

????????System.out.println(buf.readLine());

????????buf.close();

????????client.close();

?

????}

?

}

在JDK中也准备了两个专门用于实现UDP的类

1.DatagramScoket

2.DatagramPacket

服务器端程序:

package?Client;

import?java.io.*;

import?java.net.*;

?

public?class?TCPClient?{

?

????/**

?????*?@param?args

?????*?@throws?IOException

?????*?@throws?UnknownHostException

?????*/

????public?static?void?main(String[]?args)?throws?UnknownHostException,?IOException?{

????????//?TODO?Auto-generated?method?stub

????????//表示一个客户端的Socket

????????Socket?client?=?null;

?

????????//表示一个客户端的输入信息

????????BufferedReader??buf?=?null;

????????client?=?new?Socket("localhost",8000);

????????buf?=?new?BufferedReader(new?InputStreamReader(client.getInputStream()));

????????System.out.println(buf.readLine());

????????buf.close();

????????client.close();

?

????}

?

}

客户端程序:

package?Test4;

import?java.io.*;

import?java.net.*;

public?class?UDPClient?{

?

????/**

?????*?@param?args

?????*?@throws?IOException

?????*/

????public?static?void?main(String[]?args)?throws?IOException?{

????????//?TODO?Auto-generated?method?stub

????????DatagramSocket?ds?=?null;

????????DatagramPacket?dp?=?null;

?

????????byte[]?b?=?new?byte[1024];

?

????????ds?=?new?DatagramSocket(8000);

????????dp?=?new?DatagramPacket(b,b.length);

????????ds.receive(dp);

????????String?str?=?new?String(dp.getData(),0,dp.getLength());

????????System.out.println(str);

????}

?

}

(责任编辑:IT教学网)

更多

推荐Flash实例教程文章