您的位置:首页 > 理论基础 > 计算机网络

Java网络编程(一)

2016-09-04 11:38 211 查看
一、网络基础_IP_TCP_UDP

通信协议分层

应用层(编写的应用程序)
传输层(TCP/UDP层)
网络层(IP层)
物理+数据链路层
IP协议:为我们提供了独一无二的IP地址
TCP协议:传输数据(可靠 | 速度慢)
UDP协议:传输数据(不可靠 | 速度快)
二、Socket

两个java应用程序可通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket
Socket通常用来实现Client-Server连接
java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的Client端和Server端
建立连接时所需的寻址信息为远程计算机的IP地址和端口号(Port number)(端口分为TCP端口和UDP端口,每一个有65536个端口)

Socket通信模型
ServerClient
ServerSocket ss(port #)

ss.accept() //等待连接Socket对象
Socket s(host, port #)

(attempt to connect)
OutputStream

InputStream
OutputStream

InputStream
socket.close()socket.close()
启动顺序:先启动Server端后启动Client端
Socket_例子
/*Server.java*/
import java.io.*;
import java.net.*;

public class Server {
public static void main(String[] args) throws Exception {
//new一个ServerSocket并在6666端口上监听Client端的连接
ServerSocket ss = new ServerSocket(6666);
//通过accept方法接收Client端的连接
Socket s = ss.accept();
//一旦接收成功便打印一段话 a client connect!
System.out.println("a client connect!");
}
}
</pre><pre name="code" class="java">/*Client.java*/
import java.io.*;
import java.net.*;

public class Client {
public static void main(String[] args) throws Exception {
//new一个Socket指定IP地址为本机IP并连接到6666端口上(申请连接)
Socket s = new Socket("127.0.0.1",6666);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息