java--网络

什么是网络


把分布在不同地理区域的计算机用通信设备互联成一个功能强大的网络系统。


网络功能


资源共享

信息传输

综合信息服务

 

网络通信的协议分为两大类型

java--网络_第1张图片

 

 

如何进行信息传输


javanet包,通过SocketServerSocket,分别启动客户端和服务端的通信,

ServerSocket  此类实现服务器套接字。

Socket  此类实现客户端套接字(也可以就叫“套接字”)。


在传输的协议中,TCPUDP是很重要的。UDP更偏向于对于大数据的传输,而TCP更可靠。各有千秋。同时他们都有各自的SocketServerSocket 

以下是它的构造函数

ServerSocket(int port)

          创建绑定到特定端口的服务器套接字


基本的通信模型

 

java--网络_第2张图片

 

示例代码

首先创建服务端类,

通过调用accept方法,接收客户端传来的信息

 

/*        范例名称:简单的client/server程序
 *        源文件名称:TestClient.java/TestServer.java
 *        要  点:
 *                1.Java Socket编程步骤
 *                2.Socket/ServerSocket类用法
 *                3.通过Socket对象可以获取通信对方Socket的信息
 */
import java.net.*;
import java.io.*;
 
public class TestServer{
publicstatic void main(String args[]) {
try{                
ServerSockets = new ServerSocket(8888);
while(true) {
Sockets1 = s.accept();
OutputStreamos = s1.getOutputStream();
DataOutputStreamdos = new DataOutputStream(os);
dos.writeUTF("Hello,"+ s1.getInetAddress() +
"port#"+s1.getPort() + "  bye-bye!");
dos.close();
s1.close();
}
}catch(IOException e) {
e.printStackTrace();
System.out.println("程序运行出错:"+e);                        
}
}
}


客户端代码


/*        范例名称:简单的client/server程序
 *        源文件名称:TestClient.java/TestServer.java
 *        要  点:
 *                1.Java Socket编程步骤
 *                2.Socket/ServerSocket类用法
 *                3.通过Socket对象可以获取通信对方Socket的信息
 */
 
import java.net.*;
import java.io.*;
 
public class TestClient{
publicstatic void main(String args[]) {
try {
Sockets1 = new Socket("127.0.0.1", 8888);
InputStreamis = s1.getInputStream();
DataInputStreamdis = new DataInputStream(is);
System.out.println(dis.readUTF());
dis.close();
s1.close();
}catch (ConnectException connExc) {
connExc.printStackTrace();
System.err.println("服务器连接失败!");
}catch (IOException e) {
e.printStackTrace();
}
}}


本实例为简单的信息传送。关于网络层的通信协议,有UDP和TCP。看下图仅供参考仅供参考学习。

java--网络_第3张图片


你可能感兴趣的:(java)