开发者学堂课程【【名师课堂】Java 高级开发:网络编程(基本网络程序模型)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/372/detail/4645
网络编程(基本网络程序模型)
开发一个基本的 C/S 程序
准备编写一个服务器端代码和一个客户端代码,主要是通过客户端去连接服务器取得一些信息,服务器端只输出一次 “Hello World“ 就表示操作结束。
如果要开发网络程序,使用 java.net 程序包即可,这个包里面有两个类:
ServerSocket (服务器)、Socket( 客户端)。
范例:编写一个服务器端程序
package cn.mldn.netdemo.hello.server;
import java.net.Serversocket;
import java.net.socket;
public class He1loserver i
public static void main(string[] args) throws Exception(
//1、创建一个服务器端的服务对象,所有的服务一定要有一个监听端口
Serversocket server = new serversocket(9999); System.out.println
("等客户来连接,-- .--."";
//2,需要等待客户连接,也就是说此时的程序在此处会进入到一个阻高状态
Socket client = server.accept() ;
Printwriterout= new Printwriter(client.getoutputstream())out. print1n("He11o wor1d !");
out.close();
server.close();
}
}
执行效果
范例:编写客户端程序
import java.net. Socket;import java.util.scanner;
public class He1loclient i
public static void main(String[] args) throws Exception {
//1、表示连接到指定的服务器端的主机名称和端口
,localhost=127.0.0.1Socket client = new Socket("localhost" ,9999) ;
//2、等待进行服务器端的输出,服务器端输出对客户端是输入
Scannerscan=new Scanner(client.getInputstream()) ;scan.useDelimiter("ln") ;
if (scan.hasNext()i
system.out.printIn(scan.next());I
}
client.close();
执行效果如下:
Hello World !
注意:
此时的服务器实际上只能够处理一次请求操作。