java网络编程2

1, 网络爬虫demo

package networkCoding;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;


public class Spider {

	public static void main(String[] args) throws IOException {
		// 获取url
	//	URL url= new URL("https://www.jd.com");
		// 点评网 不能直接访问需要模拟浏览器访问;
		URL url= new URL("https://www.dianping.com");
		// 下载资源
		// 建立模拟链接
		HttpURLConnection connection= (HttpURLConnection)url.openConnection();
		connection.setRequestMethod("GET");
		connection.setRequestProperty("User-Agent"," Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36");
		
	//	InputStream is =url.openStream();
	//	BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(is,"UTF-8"));
		BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
		String msg = null;
		while(null!=(msg=bufferedReader.readLine())) {
			System.out.println(msg);
		}
		bufferedReader.close();
		
	}

}

2,tcp 和udp 

 tcp 基于字节流

 1,面向连接 ,必须先建立连接;

 2,点到点的通信 1to1

 3,高可靠性

 4,占用系统资源多 ,效率低;

udp: 基于字节流

 1, 无连接 

 2,可以广播方式

 3,传输不可靠 ,可能丢失, 不管对方是否准备好 ,也不确认对方是否接收

 4,非常简单协 ,开销小

***********************

传输层和应用层使用套接字来建立连接;tcp 和udp就是传输协议;

而socket 编程tcp 和udp 有以下不同

tcp                                      udp

通信需要双方建立连接      双方不需要建立连接

连接有主次之分                双方平等

发布了189 篇原创文章 · 获赞 10 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/wangrong111222/article/details/103133488
今日推荐