您的位置:首页 > 编程语言 > Java开发

Java Socket

2016-03-09 16:38 441 查看
常用端口号:http:80 ftp:21 telnet:23

java中的网络支持:

1.InetAddress:用于标识网络上的硬件资源

2.URL:统一资源定位符 通过URL可以直接读取或者写入网络上的数据

3.Sockets:使用TCP协议实现网络通信的Socket相关的类

4.Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信。

1.InetAddress类

获取本机InetAddress实例

InetAddress address = InetAddress.getLocalHost();


根据IP地址获取InetAddress实例

InetAddress.getByName("1.1.1.10");


如果里面的字符串是主机名也可以获取实例

2.URL类

URL如果未指定端口号,则使用默认端口号,此时getPort方法返回值为-1。

例子:

URL a = new URL("http://www.baidu.com");
URL url = new URL(a,"/index.html?username=tom#test");
System.out.println("协议:" + url.getProtocol());
System.out.println("主机:" + url.getHost());
System.out.println("端口:" + url.getPort());
System.out.println("文件路径:" + url.getPath());
System.out.println("文件名:" + url.getFile());
System.out.println("相对路径:" + url.getRef());
System.out.println("查询字符串:" + url.getQuery());


结果:

协议:http
主机:www.baidu.com
端口:-1
文件路径:/index.html
文件名:/index.html?username=tom
相对路径:test
查询字符串:username=tom


2.使用URL读取网页内容

InputStream is=url.openStream();
InputStreamReader isr = new InputStreamReader(is,"utf-8");
BufferedReader br= new BufferedReader(isr);
String data = br.readLine();
while(data != null){
System.out.println(data);
data = br.readLine();
}
br.close();
isr.close();
is.close();


3.Socket通信

客户端Socket类,服务器端的ServerSocket类



具体步骤:

1、创建ServerSocket和Socket

2.打开连接到Socket的输入/输出流

3.按照协议对Socket进行读/写操作

4.关闭输入输出流、关闭Socket
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: