文章目录
- 络编程
-
-
- 1.1 计算机 络
- 1.2 络通信的要素
- 1.3 IP
-
-
- ip地址的分类
-
- 1.4 端口 (Port)
-
-
- 端口分类
-
- 1.5 通信协议
- 1. 6 TCP
-
-
- 服务器
- 客户端
-
- 1.7 UDP消息发送
-
1.4 端口 (Port)
端口表示计算机上一个程序的进程
-
不同的进程有不同的端口 –用来区分软件
-
端口 范围:0~65535
-
TCP端口, UDP端口:65535 * 2
-
单个协议下,端口 不能冲突
端口分类
公有端口:0-1023
HTTP:80
https:443
FTP:21
Telent:23程序注册端口:1024-49151 分配用户或者程序
Tomcat:8080
MySQL:3306
Oracle:1521动态、私有:4915-265535
1.5 通信协议
TCP/IP协议
- TCP:用户传输协议
- 连接,稳定
- 客户端,服务端
- 传输完成,释放连接
- 三次握手 四次挥手
- UDP:用户数据 协议
- 不连接,不稳定
- 客户端,服务端 –没有明确界限
- 直接发送
- DDOS:洪水攻击 (饱和攻击)
1. 6 TCP
客户端
- 连接服务器 socket
- 发送消息
服务器
- 建立服务端口 ServerSocket()
- 等待用户连接 accept
- 接收用户消息
服务器
package com.tang.tcp;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class TcpServer { public static void main(String[] args) {ServerSocket serverSocket = null;Socket socket = null;InputStream is= null;ByteArrayOutputStream baos = null;//1. 我首先得有一个地址try { serverSocket = new ServerSocket(1234); //2.等待客户端连接 socket = serverSocket.accept(); //3.读取客户端的消息 is = socket.getInputStream(); //管道流 baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len; while ((len = is.read(buffer))!= -1){ baos.write(buffer,0,len); } System.out.println(baos.toString());} catch (IOException e) { e.printStackTrace();}finally { //关闭资源 if (baos!=null) { try {baos.close(); } catch (IOException e) {e.printStackTrace(); } } if (is!=null){ try {is.close(); } catch (IOException
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!