把分布在不同地理区域的计算机用通信设备互联成一个功能强大的网络系统。
资源共享
信息传输
综合信息服务
网络通信的协议分为两大类型
java中net包,通过Socket和ServerSocket,分别启动客户端和服务端的通信,
ServerSocket 此类实现服务器套接字。
Socket 此类实现客户端套接字(也可以就叫“套接字”)。
在传输的协议中,TCP与UDP是很重要的。UDP更偏向于对于大数据的传输,而TCP更可靠。各有千秋。同时他们都有各自的Socket和ServerSocket。
以下是它的构造函数
ServerSocket(int port)
创建绑定到特定端口的服务器套接字
示例代码
首先创建服务端类,
通过调用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。看下图仅供参考仅供参考学习。
原文:http://blog.csdn.net/han_yankun2009/article/details/19920549