网络编程的相关知识

1 篇文章 0 订阅
1 篇文章 0 订阅
网络通信要素:    IP,端口号,通信协议
网络编程有三个要素分别是 :IP 地址、端口号和通信协议 .
IP 地址( Internet Protocol Address )是指互联网协议地址,又译为网际协议地址. 网络中的计算机使用 IP 地址来进行唯一标识 .
Windows 系统下,打开 cmd ,输入命令 ipconfig ,按回车即可查看。本地回环地(hostAddress):127.0.0.1 ,它代表设备的本地虚拟接口.
网络通信要素:网络通信协议
传输层协议中有两个非常重要的协议:
传输控制协议TCP(Transmission Control Protocol)
用户数据报协议UDP(User Datagram Protocol)
TCP
使用TCP协议前,须先建立TCP连接,形成传输数据通道
传输前,采用“ 三次握手 ”方式,是可靠的
TCP协议进行通信的两个应用进程:客户端、服务端
在连接中可进行大数据量的传输
传输完毕,需释放已建立的连接,效率低
在断开时要进行 “四次挥手”
看下面案例:
服务器:
package Demo;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public static void main(String[] args) throws IOException {

        //创建服务器 
        ServerSocket serverSocket = new ServerSocket(9999);
        System.out.println("服务器创建成功,等待客户端连接");
        //监听客户端
        Socket socket = serverSocket.accept();
        System.out.println("客户端连接成功");

        //接受客户端发送的信息
        DataInputStream din = new DataInputStream(socket.getInputStream());
        System.out.println("客户端:"+din.readUTF());

        //回复客户端
        DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
        dout.writeUTF("你好,客户");
    }
}
package Demo;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;

public class Client {

    public static void main(String[] args) throws IOException {

        //创建客户端
        Socket socket = new Socket("192.168.31.105",9999);

        //向服务器发送信息
        DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
        dout.writeUTF("你好服务器");

        //接受服务器信息
        DataInputStream din = new DataInputStream(socket.getInputStream());
        System.out.println("服务器:" + din.readUTF());
    }
}
UDP
将数据、源、目的封装成数据包,不需要建立连接
每个数据报的大小限制在 64K
因无需连接,故是不可靠的
发送数据结束时无需释放资源,速度快
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值