黑马程序员——网络编程及正则表达式

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

网络编程

网络模型:

OSI参考模型、TCP/IP参考模型

1.找对方IP

2.数据发到对法指定的应用程序上,为了表示这些应用程序,所以给这些网路应用程序都用程序都用数字进行标识。为了方便称呼这个数字,就叫端口(逻辑端口)

3.定义通信规则,通讯规则称为协议

国际组织通用协议:TCP/IP

网络通信要素:

IP地址,端口,传输协议


IP地址:

1.网络中的设备标识

2.不易记忆可用主机名

3.本地回环地址127.0.0.1主机名:localhost


传输协议:

UDP特点:

1.面向无链接,将数据及源和目的封装成数据包,不需要建立链接。

2.每个数据大大小限制在64k以内。

3.因无链接是不可靠协议

4.不需要建立链接速度快

TCP特点:

1.建立链接,形成传输数据的通道

2.在链接中进行数据大量传输

3.通过三次握手完成链接,是可靠协议

4.建立链接,效率低

Socket:

1.Socket就是为了网络服务提供的一种机制

2.通信的两端都有Socket

3.网络通信其实就是Socket间的通信

4.数据在两个Socket间通过IO传输

DatagremSocket:

白哦是发送和接收数据报包的套接字



发程序


收程序






TCP传输

1.Socket和SeverSocket分别为客户端及服务端

2.建立客户端和服务器端

3.建立链接后,通过Socket中的IO流进行数据传输。

4.关闭Socket

客户端

通过查阅Socket对象,发现在该对象建立时,就可以链接指定主机,因为TCP是面向链接的,所以在建立Socket服务时,就要有服务端存在,并链接成功,形成通路后再该通道进行数据传输。

步骤:

1.创建Socket服务并指定要链接的主机和端口

2.获取Socket流中的输出流,将数据写到流中,通过网络发给服务端。

3.获取Socket流中的输入流,将服务器反馈的数据获取,定义端点接收数据并打印控制台上

4.关闭资源

服务端

1.建立服务端的Socket服务,ServerSocket();并监听一个端口

2.获取链接过来的客户端对象,通过ServerSocket()的accept()完成,未连接则等待,所以这个方法是阻塞式的。

3.如果客户端发过数据,那服务端要使用对应的客户端对象,并获取客户端对象的读取流来刦发过来的数据,并打印控制台。

4.关闭资源



会出现莫名等待因为有阻塞方法,这些方法未读到技术标记而导致两端都在等待,需要加入刷人字符的语句。






单线程的服务器有局限性,当A连上后,被服务器获取,服务器执行具体流程,这时B连只哟等待,因服务器还没处理完A的请求,还没循环回来执行下一次accept方法,所以取不到B对象,为了能并发访问,服务器最好将每个客户封装到一个单独线程中,这样可同时处理多个客户请求。





URL:同一资源定位符。

String getFile();获取URL文件名

String getHost();获取URL主机名

String getPath();获取URL路径部分

int getPort();获取URL端口号

String getProtocol();获取URL协议

String getQuery();查询部分


与图形化界面相结合。

正则表达式:(regex)

符合一定规则的表达式。

作用:

用于专门操作字符串。

特点;

用于一些特定的符号来表示一些代码操作

学习正则表达式就是学习一些特殊符号的使用

好处

可以简化对字符串的复杂操作

弊端:

符号定义越多,正则表达式阅读性越差。

具体操作功能:

1.匹配:

String matches():用规则匹配整个字符串一处不符合就返回假。


2.切割:

String splite():


3.替换:

String replaceAll():


4.获取:

将字符串中符合规则的子串取出。

其实String类中的matches方法。用的就是Pattern和Matcher对象来完成的。只不过被String的方法封装后,用起来较为简单。但是功能却单一。

操作步骤;

1.将正则表达式封装成对象

2.将正则对象鱼要操作的字符串相关联

3.关联后,获取正则匹配引擎

4.通过引擎对呼和规则的子串进行操作,如取出。

Pattern

正则表达式的编译表现形式。


网页爬虫:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值