5.13
来源:互联网 发布:万方免费数据库查询 编辑:程序博客网 时间:2024/06/09 20:20
计算机网络基础
概述
利用通信线路和通信设备,把地理上分散并且具有独立功能的多个计算机系统互相连接,按照网络协议进行数据通信,通过功能完善的网络软件实现资源共享的计算机系统的集合。
功能:数据通信
资源共享
负荷均衡和分布处理
组成与逻辑结构:计算机网络系统包括硬件和软件两大部分: 硬件负责数据处理和转发,包括计算机系统、通信设备和通信线路
组成计算机网络的四大要素:计算机系统 软件负责控制数据通信和各种网络应用,包括网络协议和网络软件
通信线路和通信协议
网络协议
网络软件
网络的拓扑结构
网络中连接网络设备的物理线缆铺设的几何形状,用以表示网络形状。
①总线型②星形③环形④树状⑤网状
计算机网络逻辑上由资源子网和通信子网两大部分组成,
资源子网——>面向应用的数据处理,实现网络资源的共享
通信子网——>面向数据通信处理和通信控制
JAVA
网络
java.net.URLConnection
写入Web服务器
使用URLConnection——>发送HTTP请求
URL url = new URL("http://www.mydomain.com/form.jsp);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
PrintWriter out = new PrintWriter(connection.getOutputStream());
out.println("firstName=joe");
out.println("lastName=Average");
out.close();
给http://www.mydomain.com/form.jsp 页面发送了一个表格
java,net,Socket
套接字——>网络连接的一个端点,使得应用程序可以从网络读取和写入网络。
public Socket(java,lang.String host, int port)
host为远程机器名或者IP地址
port为远程应用程序的端口号
new Socket("yahoo.com", 80)——>Socket 对象
连接到端口80的yahoo.com
Socket类实例——>发送/接收,字节流
发送字节流,必须先调用 Socket类的 getOutputStream 方法——>获取java.io.OutputStream 对象
把文本发送到远程应用程序,从返回的OutputStream对象——>构造java.io.PrintWriter对象
要从连接的另一端接收字节流,就调用Socket类的getInputStream 方法,该方法返回一个java.io.InputStream
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class SocketTest {
public static void main(String[] args) {
String host = "books.brainysoftware.com";
String protocol = "http";
try {
Socket socket = new Socket(protocol + "://" + host,80);
OutputStream os = socket.getOutputStream();
boolean autoflush = true;
PrintWriter out = new
PrintWriter(socket.getOutputStream(),autoflush);
BufferedReader in = new BufferedReader (
new InputStreamReader(socket.getInputStream()));
// send an HTTP request to the web server
out.println("GET / HTTP/1.1");
out.println("Host: " + host + ":80");
out.println("Connection: Close");
out.println();
// read the response
boolean loop = true;
StringBuilder sb = new StringBuilder(8096);
while (loop) {
if (in.ready()) {
int i = 0;
while (i != -1) {
i = in.read();
sb.append((char) i);
}
loop = false;
}
}
// display the response to the out console
System.out.println(sb.toString());
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
返回结果
F:\gz\JAVA\wl>java SocketTest
java.net.UnknownHostException: http://books.brainysoftware.com
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at SocketTest.main(SocketTest.java:13)
java.net.ServerSocket
Socket 类表示 客户端套接字 ——>要连接到远程服务器应用程序时构造的套接字
ServerSocket——>服务器套接字的实现
public ServerSocket (int port, int bakLog, InetAddress bindingAddress);
上述构造器绑定的地址必须是java.net.InetAddress的一个实例
构造InetAddress对象的一个办法是通过调用它的getByName静态方法,传递包含主机名称的String
InetAddres.getByName("127.0.0.1");
new ServerSocket(8080, 1, InetAddress.getByName("127.0.0.1"));
构造了一个在监听本机8080端口的ServerScoket,待办属性为1
Web服务器应用程序
——>HttpServer
——>Request
——>Response
HttpServer类
——>Web服务器
SQL
替代主键(surrogate key)——>无意义主键(meaningless primary key)
每一行分配一个唯一的数字,该数字无内在意义,只是行或行所代表的对象的方便的名字
附加列(tie-breaker column)
包含一个以上的列的主键——>复合主键(composite key)
- 5.13
- 5.13
- 5.13
- day63(5.13)
- 汉诺塔 5.13
- cpp 5.13
- 5.1-5.13流水
- 5.13 mother's day
- 周日出游5.13
- 传智播客学习笔记5.13
- 行者无疆浏览器 5.13
- 5.13 内部类
- Sample 5.13:while.cpp
- 5.13安卓学习
- 5.13 图像平滑
- 5.13viewPager&&viewFlipper
- 5.13 第五天 节制欲望
- 5.13 广东移动 笔试题
- 深入理解javascript原型和闭包(12)——简介【作用域】
- 个人学习总结一机器学习入门(四)
- ubuntu 16.04 + Qt5.7.1+VTK6.3.0 + opencv2.4.13-viz(3D可视化)安装教程
- 在没有串口的情况下,调整打log的优先级的方法
- LeetCode 459. Repeated Substring Pattern
- 5.13
- [leetcode: Python]242.Valid Anagram
- jvm 垃圾收集器
- Promise相关
- POJ 2187 旋转卡壳 解题报告
- 点击小图弹出大图片且手势放大和缩放功能
- const用法
- easyui-datebox前一个选择了日期,后一个只能该日期之后的日期,或是一个周之后的日期
- ZCMU—1556