java网络编程步骤(精)
- 格式:doc
- 大小:13.00 KB
- 文档页数:4
TCP 客户端编程步骤:1、建立网络连接:客户端网络编程的第一步都是建立网络连接。
在建立网络连接时需要指定连接到的服务器IP 地址和端口号。
建立完成后,会形成一条虚拟的连接,后续的操作就可以通过该连接实现数据的交换了。
2、交换数据连接建立以后,可以通过这个连接交换数据。
交换数据一般会按照“请求-响应”模式进行,即有客户端发送一个请求数据到服务器,服务器反馈一个响应数据给客户端,如果客户端不发送请求则服务器就不主动响应。
根据逻辑需要,可以进行无限次的数据交换。
3、关闭网络连接在数据交换完成以后,关闭网络连接,释放程序占用的系统资源客户端编程步骤如下图所示:TCP 服务器端的编程步骤:1、监听端口服务器端属于被动等待连接,所以服务器端启动以后,只需要监听本地计算机的某个固定端口即可。
这个端口就是服务器端开放给客户端的端口,服务器端程序运行的本地计算机的IP 地址就是服务器端程序的IP 地址。
2、获得连接当客户端连接到服务器是,服务器端就可以获得一个连接,这个连接包含客户端的信息,例如客户端IP 地址等,服务器端和客户端也通过该连接进行数据交换。
一般在服务器端编程中,当获得连接时,需要开启专门的线程处理该连接,每个连接都由独立的线程实现。
3、交换数据ClientSocket(host,port#)试着连线OutputStreamInputStreamSocket.close()1)、指定服务器端的位置与通信端口以建立连接Socket s1=new Socket(“172.0.0.1”,5432);2)、通过Socket 对象取得输出流,以便通过输出流,取得来自服务器端得数OutputStream out =s1.getOutputStream();通过Socket 对象取得输出流串连接起来,以便通过输出流,将数据传送至客户端InputStream in =s1.getInputStream();3)、关闭连接s.close();服务器端通过获得的连接进行数据交换。
编写javaweb项目步骤
1.了解需求:在开始编写javaweb项目之前,需要先了解项目的需求及功能,明确项目目标,为后续的开发做好准备。
2. 确定技术栈:针对项目需求,选择合适的技术栈,如Spring、Spring MVC、MyBatis等。
3. 设计项目架构:在确定技术栈后,根据需求和技术栈,设计项目的架构,包括项目结构、模块划分、类库引用、配置文件等。
4. 编写代码:根据需求和架构,逐步编写项目代码,包括实体类、DAO层、Service层、Controller层等。
5. 测试与调试:在编写完代码后,进行测试和调试,确保项目能够正常运行并满足需求。
6. 部署上线:测试完成后,将项目部署到服务器上进行上线,确保项目能够正常使用。
7. 运维维护:项目上线后,需要进行维护和监控,及时解决出现的问题,确保项目的稳定运行。
- 1 -。
简述运行java程序的步骤和方法运行Java程序的步骤和方法Java是一种跨平台的编程语言,可以在不同的操作系统上运行。
为了运行Java程序,需要经过以下步骤:1. 安装Java开发工具包(JDK)Java开发工具包是Java程序开发的必备工具。
在安装JDK之前,需要先确认操作系统的位数(32位或64位),然后下载对应版本的JDK安装文件。
安装JDK时,需要按照安装向导的步骤进行操作,通常只需要选择默认选项即可完成安装。
2. 编写Java程序使用任何文本编辑器编写Java程序,保存为.java文件。
Java程序通常以public class开头,包含一个main方法,是程序的入口点。
Java的语法相对简单,但需要遵循一定的规范和约定。
3. 编译Java程序在命令行中进入Java程序所在的目录,使用javac命令编译Java 程序。
例如,输入javac HelloWorld.java即可编译名为HelloWorld.java的Java程序。
编译成功后,会生成一个.class文件,其中包含了Java程序的字节码。
4. 运行Java程序在命令行中输入java命令,加上类名(不包含.java扩展名),即可运行Java程序。
例如,输入java HelloWorld即可运行名为HelloWorld的Java程序。
程序运行过程中,可以在控制台输出信息,也可以接受用户的输入。
5. 调试Java程序如果Java程序出现了错误,可以使用调试工具进行调试。
调试工具可以帮助开发者找出程序运行时的错误,并提供一些调试信息。
常用的Java调试工具包括Eclipse、IntelliJ IDEA、NetBeans等。
除了以上步骤,还有一些Java程序开发的基本技巧和注意事项:1. 使用面向对象的编程思想Java是一种面向对象的编程语言,可以使用类、对象、继承、封装等面向对象的特性来开发程序。
面向对象的编程思想可以使程序结构更加清晰,易于维护和扩展。
java程序的开发步骤Java程序的开发步骤包括项目规划、需求分析、设计、编码、测试、部署等几个重要阶段。
首先,项目规划是Java程序开发的第一步,要确定项目的范围、目标、时间表和资源分配等。
在项目规划阶段,需要明确项目的需求和目标,确定项目的优先级和里程碑,制定项目计划和预算,分配项目资源和人员等。
其次,需求分析是Java程序开发的第二步,要分析用户的需求和期望,确定软件功能和特性。
在需求分析阶段,需要收集用户需求,分析用户需求,定义功能和特性,编写需求规格说明书等。
然后,设计是Java程序开发的第三步,要设计软件的架构、模块、接口和数据结构等。
在设计阶段,需要制定软件设计方案,设计软件架构和模块,设计软件接口和数据结构,编写设计文档等。
接着,编码是Java程序开发的第四步,要实现软件的功能和特性,编写代码并进行调试。
在编码阶段,需要编写代码,编写单元测试,进行代码调试,优化代码等。
随后,测试是Java程序开发的第五步,要测试软件的功能、性能和稳定性,发现和修复软件的缺陷和问题。
在测试阶段,需要编写测试用例,进行功能测试,性能测试和压力测试,进行回归测试,修复软件缺陷,优化软件性能等。
最后,部署是Java程序开发的最后一步,要部署和发布软件,让用户可以使用软件。
在部署阶段,需要部署软件到生产环境,进行用户培训,提供技术支持,进行软件维护和升级等。
总的来说,Java程序的开发步骤包括项目规划、需求分析、设计、编码、测试、部署等几个阶段,每个阶段都非常重要,要认真对待,才能开发出高质量的Java程序。
希望以上内容能够帮助您更好地了解Java程序的开发步骤。
如果有任何问题,欢迎随时向我提问。
感谢阅读!。
第8章Java网络编程北京邮电大学宽带网中心焦利1第8章网络编程•8..1 Java与internet•8.2 使用URL•8.3 访问cgi•8.4 URL连接•8.5 Socket•8.6 数据报•8.7 小结28.1 Java与网络•Java语言取得成功的领域之一就是网络•(其他语言)数页代码---->(Java)一条语句•TCP/IP(传输控制协议/网间协议)是internet的主要协议,定义了计算机和外设进行通信所使用的规则(应用层,传输层,网络层,链路层).•大多数基于internet的应用程序被看作TCP/IP协议的上一层. 如: ftp, http, smtp, pop3, telnet, nntp等•IP地址:TCP/IP网络中的每台计算机都有唯一的地址--IP地址.•在Java中,有一个用来存储internet地址的类叫InetAddress.38.1 Java与网络•例:获取本机的IP地址import .*;public class getLocalHostTest{ public static void main(){ InetAddress myIP=null;try {myIP=InetAddress.getLocalHost();}catch{UnknowHostException e){}System.out.println(myIP);}}创建inetAddress类不用构造函数(不用new)48.1 Java与网络下面的例子演示java如何根据域名自动到DNS 上查找IP地址(与DNS服务器的连接减至一行) import .*;public class getIP{ public static void main(String args[]){ InetAddress bupt=null;try{ bupt=InetAddress.getByName(“”);}catch(UnknowHostException e) {}System.out.println(bupt); }}58.1 Java与网络•Java提供的网络功能有三大类: URL, Socket, Datagram.•URL是三大功能中最高级的一种,通过URL Java 程序可以直接送出或读入网络上的数据.•Socket是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道.•Datagram是更低级的网络传输方式,它把数据的目的记录在数据包中,然后直接放在网络上.69public boolean action(Event evt, Object arg){ try{String line;String str=textfield.getText();url=new URL(str);data=new DataInputStream(url.openStream ());while((line=data.readLine ())!=null){textarea.appendText(line); }data.close();}catch(MalformedURLException me){System.out.println("Error URL");}catch(IOException ie){System.out.println("Error IO");}return true;}8.3 访问cgi•cgi(公共网关)程序可以用任何一种变成语言来写.•cgi将web与外部程序连接起来(数据库查询等)•cgi程序要放在指定的目录下cgi-bin目录.•cgi通常以GET或POST接收数据,128.3 访问cgi•从小应用中运行CGI程序(GET)Socket runcgi=newSocket(“”,80);OutputStreamos=runcgi.getOutputStream();PrintStream ps=new PringtStream(os);ps.println(“GET/cgi-bin/testcgi?arg1=val1& args2=val2&arg3=val3”);•http://<机器名>/<cgi程序路径>?<查询串>138.3 访问cgi•get方法把数据作为命令行中的参数传递给此cgi(适用于少量参数的情况)•Java cgi程序通过main方法的串参数接受命令行.•C cgi程序通过访问环境变量中的查询串QUERY_STRING,来获得查询串中的信息.•例如在C程序中: char *str;•str=getevn(QUERY_STRING);148.3 访问cgi•从小程序中运行CGI程序(post)•post方法通过标准输出向cgi传送参数(适合参数较多的情况)•用post方法要有数据输出流•Socket runcgi=new Socket(“”,80);•建立socket连接•DataOutputStream ds=runcgi.getOutputStream();•建立输入流•ds.println(“POST/cgi-bin/guestbook.pl”);•运行cgi程序168.3 访问cgi•通知发送的数据类型•ds.println(“Content-type:plain/text”);•通知发送的数据长度•String data=“Hello world”•ds.println(“Content-length”+data.length+”\n”);•发送数据•ds.println(data);178.3 访问cgi•cgi接收post方法送来的数据,就像从标准输入读数据一样.•getchar();gets();(C语言的情况)(要建立数据流)•cgi返回数据时要指明数据类型等信息:•printf(“Content-type:text/plain\n\n”);•或printf(“Content-type:text/html\n\n”);•或printf(“Content-type:image/gif\n\n”);•cgi规定服务器与外部程序交换信息的协议.188.4 URL连接•URL双向通信(URLConection)•URLConnection是一个一http为中心的类1. 建立连接URL url=new URL(“/”);URLConnection con=url.openConnection(); 2. 向服务器端送数据PrintStream outStream=newPrintStream(con.getOutputStream());outStream.println(string_data);208.4 URL连接•URLConnection同时支持get和post两种机制一般的格式.•缺省情况下位post method方式•URL和URLConnection的区别在于前者代表一个资源的位置,后者代表一种连接•下面的例子中Java程序访问cgi程序,并传给它10个数据,cgi程序胡接收后,排序,并传送回来.•连接的建立、数据流的建立、java如何发数据、如何接收数据、cgi程序如何发送和接收22238.4 URL 连接import java.io.*; import .*;public class test_cgi{public static void main(String[] args) throws Exception { URL url = newURL ("/~wangqb/cgi-bin/test.cgi"); URLConnection connection = url.openConnection(); connection.setDoOutput(true);PrintStream out = newPrintStream(connection.getOutputStream());out.println("0123456789");out.close();8.4 URL连接DataInputStream in = new DataInputStream(connection.getInputStre am());String inputLine;while ((inputLine= in.readLine()) != null) System.out.println(inputLine);System.in .read ();in.close();24258.4 URL 连接#include "stdio.h"main(){ int array[10]; int i,j,k;printf("Content-type:text/plain \n\n ");for(i=0;i<=9;i++)array[i]=getchar();//read data from InputStreamfor(i=0;i<=8;i++){ for(j=i;j<=9;j++){ if(array[i]<array[j]){ k=array[j]; array[j]=array[i]; array[i]=k; }}}printf("\nOutput number!\n");for(i=0;i<=9;i++){ printf("%c",array[i]); } //write data to OutputStream }8.5 Socket•在服务器端通过指定一个用来等待的连接的端口号创建一个ServerSocket实例.•在客户端通过规定一个主机和端口号创建一个socket实例,连到服务器上.•ServerSocket类的accept方法使服务器处于阻塞状态,等待用户请求•Socket类和ServerSocket是基于TCP协议的,TCP协议提供64个端口,256以内位保留端口.288.5 Socket•在本地机器上测试网络程序用回送地址Socket socket=newSocket(“127.0.0.1”,2525);•如果网络的一端已经关闭,另一端读到null.•建立socket连接后,还应该建立输入输出数据流.298.5 Socket•下面的例子演示一个简单的服务器与客户的交互,即服务器等待,客户访问,相互通一次信息.31348.5 Socketps=new PrintStream(clientSocket.getOutputStream());dis=newDataInputStream(clientSocket.getInputStream());创建服务器(端口号)定义数据成员服务器等待网络连接建立socket 流向客户发出登录要求ps.println("login:"); ps.flush();358.5 Socketps.println("login sucessful"); ps.flush();System.out.println(username+" has logged off");}读客户端信息创建服务器(端口号)定义数据成员服务器等待网络连接建立socket 流向用户发出登录要求通知客户连接完毕if ((username=dis.readLine())==null ){System.out.println("readLine returned null");System.exit(1); }System.out.println("Username:"+username);37. 8.5 Socket •.System.out.println(input.readLine());创建Socket 实例定义数据成员建立socket 流读socket 流(看到提示)System.in.read(bArray);String s=new String(bArray,0);output.println(s);从键盘上读送用户名送给服务器端关闭流socket.close();input.close();output.close();System.out.println("Done");System.out.println(input.readLine());System.out.print("Logging off...");读服务器反馈438.5 Socket public static void main(String args[]){ServerSocket serverSocket=null;try{serverSocket=new ServerSocket(1111);}catch(Exception e){System.out.println(”Error”+e);System.exit(1);}while(true){Socket clientSocket=null;System.out.println("waiting for users...");try { clientSocket=serverSocket.accept();}catch(IOException e){System.out.println("accept failed:"+e);}new serverThread(clientSocket ).start(); }}8.6 Datagram•TCP提供高可靠性服务,适用于一次要传输交换大量报文的情况,信道上传递的包不需要源地址和目的地址•UDP提供高效率服务,适用于依次传输交换少量报文的情形(如数据库查询),每个数据包要包含目的地址和端口号.•数据报文的使用以包为中心:打包,拆包. •包支持两种不同的在网络上送数据的方法:一般套接字和数据报文套接字.50。
java编程基本步骤编写Java程序通常可以分为以下几个步骤:1. 确定程序的目标和需求:在开始编写Java程序之前,首先需要确定程序的目标和需求。
明确程序要实现的功能和要求,可以通过和用户或者需求方进行交流来获取准确的需求。
2. 设计程序结构:在明确了程序的目标和需求之后,需要设计程序的结构。
确定程序的类、接口、方法以及它们之间的关系。
可以采用面向对象的设计方法,将程序分解为多个类,并定义它们之间的关系和行为。
3. 编写类和方法:根据设计的程序结构开始编写Java类和方法。
类是Java程序的基本组成单元,通过类可以定义对象的属性和行为。
方法是类中的成员,用于执行具体的操作和实现一定的功能。
4. 编译程序:编写完Java源代码后,需要使用Java编译器进行编译,将源代码编译为字节码文件。
在命令行中可以使用`javac`命令进行编译,如:`javac HelloWorld.java`。
5. 调试程序:编写完毕并编译成功后,需要对程序进行调试,确保程序的正确性。
可以通过在代码中添加打印语句或者使用调试工具来调试程序。
调试过程中可以逐行执行程序,观察变量的值以及程序的运行结果。
6. 运行程序:调试通过后,可以使用Java虚拟机(JVM)来运行程序。
在命令行中可以使用`java`命令来运行已编译的字节码文件,如:`java HelloWorld`。
7. 测试程序:在运行程序之后,需要对程序进行测试,以验证程序的正确性。
可以编写测试用例,包括各种可能的输入情况,然后执行测试用例,观察程序的输出是否符合预期。
8. 优化程序:在测试完成之后,可以对程序进行优化。
根据程序的性能和效率问题,可以针对性地进行优化,提高程序的执行速度和资源利用率。
9. 文档编写:在程序编写完成后,需要编写相应的文档,包括程序的说明、使用方法和注意事项等。
文档可以帮助其他人理解和使用程序。
10. 发布程序:最后,将编写完成并经过测试和优化的程序发布出去。
Java⽹络编程(Socket基础,多线程socket,socket中⽂乱码问题)学习笔记1.概念2.简单TCP通信代码,⽤两个java程序模拟客户端和服务器端。
客户端代码:TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据表⽰客户端的类:.Socket:此类实现客户端套接字(也可以就叫“套接字”)。
套接字是两台机器间通信的端点。
套接字:包含了IP地址和端⼝号的⽹络单位构造⽅法:Socket(String host, int port) 创建⼀个流套接字并将其连接到指定主机上的指定端⼝号。
参数:String host:服务器主机的名称/服务器的IP地址int port:服务器的端⼝号成员⽅法:OutputStream getOutputStream() 返回此套接字的输出流。
InputStream getInputStream() 返回此套接字的输⼊流。
void close() 关闭此套接字。
实现步骤:1.创建⼀个客户端对象Socket,构造⽅法绑定服务器的IP地址和端⼝号2.使⽤Socket对象中的⽅法getOutputStream()获取⽹络字节输出流OutputStream对象3.使⽤⽹络字节输出流OutputStream对象中的⽅法write,给服务器发送数据4.使⽤Socket对象中的⽅法getInputStream()获取⽹络字节输⼊流InputStream对象5.使⽤⽹络字节输⼊流InputStream对象中的⽅法read,读取服务器回写的数据6.释放资源(Socket)注意:1.客户端和服务器端进⾏交互,必须使⽤Socket中提供的⽹络流,不能使⽤⾃⼰创建的流对象2.当我们创建客户端对象Socket的时候,就会去请求服务器和服务器经过3次握⼿建⽴连接通路这时如果服务器没有启动,那么就会抛出异常ConnectException: Connection refused: connect如果服务器已经启动,那么就可以进⾏交互了import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import .Socket;import java.util.Scanner;public class TCPClient {public static void main(String[] args) throws IOException {Scanner cin = new Scanner(System.in);Socket socket = new Socket("127.0.0.1",8888);InputStream is = socket.getInputStream();while(true){//给服务器端发数据System.out.println("请输⼊你要向服务器发送的数据:");String sendMessage = cin.nextLine();OutputStream os = socket.getOutputStream();os.write(sendMessage.getBytes());//接收服务器端发过来的数据byte[] getMessage = new byte[1024];int len = is.read(getMessage);String message = new String(getMessage,0,len);System.out.println("收到服务器端发来的数据为: "+message);}}}服务器端代码:TCP通信的服务器端:接收客户端的请求,读取客户端发送的数据,给客户端回写数据表⽰服务器的类:.ServerSocket:此类实现服务器套接字。
简述使用eclipse开发java程序的基本步骤
1.安装eclipse:从官网下载eclipse安装程序,按照提示安装。
2. 创建java项目:打开eclipse,选择“File”菜单中的“New”-“Java Project”,输入项目名称和存储路径,点击“Finish”按钮创建项目。
3. 新建java类:在项目中右键点击“src”文件夹,选择“New”-“Class”,输入类名和包名,勾选“public static void main(String[] args)”选项,点击“Finish”按钮创建类。
4. 编写java代码:在新建的类中编写java代码。
5. 运行程序:点击“Run”菜单中的“Run”按钮或按下“Ctrl+F11”快捷键运行程序。
6. 调试程序:在代码中设置断点,点击“Debug”菜单中的“Debug”按钮或按下“F11”快捷键启动调试。
7. 导出程序:点击“File”菜单中的“Export”选项,选择“Java”-“Runnable JAR file”,按照提示设置导出选项,点击“Finish”
按钮导出程序。
以上是使用eclipse开发java程序的基本步骤,可以根据实际
需求进行扩展和优化。
- 1 -。
五、Socket的java网络编程(1)基于Socket的java网络编程1,什么是Socket网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。
Socket通常用来实现客户方和服务方的连接。
Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。
但是,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。
在Java环境下,Socket 编程主要是指基于TCP/IP协议的网络编程。
SOCKET(套接字/管套/插口):标识连接的端点,IP地址+ 端口号。
应用程序与网络之间的接口应用程序创建socketsocket 类型决定了通信的类型可靠的vs. 尽最大努力的面向连接的vs. 无连接的一旦socket配置完成,应用程序就可以把数据传给socket,从而进行网络传输从socket接收数据(其他主机通过网络发送过来的)2,Socket通讯的过程Server端Listen(监听)某个端口是否有连接请求,Client端向Server 端发出Connect(连接)请求,Server端向Client 端发回Accept(接受)消息。
一个连接就建立起来了。
Server端和Client 端都可以通过Send,Write等方法与对方通信。
对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:(1)创建Socket;(2)打开连接到Socket的输入/出流;(3)按照一定的协议对Socket进行读/写操作;(4)关闭Socket.(在实际应用中,并未使用到显示的close,虽然很多文章都推荐如此,不过在我的程序中,可能因为程序本身比较简单,要求不高,所以并未造成什么影响。
)3,创建Socket创建SocketServerSocket:编写TCP网络服务程序,首先要用到.ServerSocket类用以创建服务器Socket构造方法:ServerSocket(int port):创建绑定到特定端口的服务器套接字ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。
TCP 客户端编程步骤 :
1、建立网络连接:
客户端网络编程的第一步都是建立网络连接。
在建立网络连接时需要指定连接到的服务器 IP 地址和端口号。
建立完成后,会形成一条虚拟的连接,后续的操作就可以通过该连接实现数据的交换了。
2、交换数据
连接建立以后,可以通过这个连接交换数据。
交换数据一般会按照“请求 -响应”模式进行, 即有客户端发送一个请求数据到服务器, 服务器反馈一个响应数据给客户端, 如果客户端不发送请求则服务器就不主动响应。
根据逻辑需要, 可以进行无限次的数据交换。
3、关闭网络连接
在数据交换完成以后,关闭网络连接,释放程序占用的系统资源客户端编程步骤如下图所示 :
TCP 服务器端的编程步骤 :
1、监听端口
服务器端属于被动等待连接, 所以服务器端启动以后, 只需要监听本地计算机的某个固定端口即可。
这个端口就是服务器端开放给客户端的端口, 服务器端程序运行的本地计算机的 IP 地址就是服务器端程序的 IP 地址。
2、获得连接
当客户端连接到服务器是, 服务器端就可以获得一个连接, 这个连接包含客户端的信息, 例如客户端 IP 地址等,服务器端和客户端也通过该连接进行数据交换。
一
般在服务器端编程中, 当获得连接时, 需要开启专门的线程处理该连接, 每个连接都由独立的线程实现。
3、交换数据
Client
Socket(host,p
ort#试着连
线
OutputStream
InputStream
Socket.close(1 、指定服务器端的位置与通信端口以建立连接 Socket s1=new Socket(“172.0.0.1”,5432; 2 、通过 Socket 对象取得输出流, 以便通过输出流, 取得来自服务器端得数 OutputStream out =s1.getOutputStream(;通过 Socket 对象取得输出流串连接起来,以便通过输出流, 将数据传送至客户端 InputStream in
=s1.getInputStream(;
3 、关闭连接 s.close(;
服务器端通过获得的连接进行数据交换。
服务器的数据交换步骤一般是首先接收客户端发送过来的数据,然后进行逻辑处理,最后把处理结果数据发送个客户端。
简单说,就是先接收再发送, 和客户端的数据交换顺序有所不同。
实质上, 服务器端获得的连接和客户端创建的连接是一样的,只是数据交换的步骤不同。
4、关闭连接
当需要停止网络通信是, 就需要关闭服务器端, 通过关闭服务器端使得服务器监听的端口以及占用的内存等系统资源可以释放出来。
服务器编程步骤图 :
客户端和服务器端编程步骤及它们之间的数据交换过程图:
Server
ServerSocket(port#
指定所要使用的端
口号
ServerSocket.accept(
等待连接
Socket(
InputStream
OutputStream
Socket.close(1 、建立 ServerSocket 对象,并指定所要使用的端口号 ServerSocket serverSocket=newServerSocket(port#;2 、等待知道接收到客户端的连接信息,然后建立连接 Socket s=serverSocket.accept(;3 、通过 Socket 对象取得输入流,以便通过输入流,取得来自客户端的数据 OutputStream out=s.getOutputStream(;通过 Socket 对象取得输出流串连接起来, 以便通过输出流, 将数据传送至客户端 InputStream
in=s.getInputStream(;4 、关闭连接 s.close(;
Server
ServerSocket(port
#指定所要使用
的端口号
ServerSocket.acce
pt(等待连接
Socket(
InputStream
OutputStream
Socket.close(
Client Socket(host,port#试着连线 OutputStream InputStream Socket.close(。