(笔记)网络编程基础--要整理!
来源:互联网 发布:低频治疗仪 知乎 编辑:程序博客网 时间:2024/05/16 11:53
1、IP地址和InetAddress类
java支持internet协议由ftp、telnet、www等,都在java.net。
java.net.InetAddress类的对象用于存储IP地址和域名
getByName (String s) //获得一个InetAddress对象,其中包含域名和IP地址
String getHostName () //获得InetAddress对象的域名
String getHostAddress () //获得InetAddress对象的IP地址
getLocalHost () //获得一个InetAddress对象,其中含有本地机的域名和IP地址
try
{
InetAddress addr = InetAddress.getByName ("www.fudan.edu.cn");
String domainName = addr.getHostName ();
String IPName = addr.getHostAddress ();
}
catch (UnknownHostException e)
{}
2、统一资源定位符 URL
URL格式:<METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE>
(1)java.net.URL类
构造器 URL (String s) //s指出网络中的一个资源。
URL url;
try
{
url = new URL("http://www.fudan.edu.cn:80");
}
catch (MalformedURLException e)
{}
(2)URLConnection类,用于接受和发送信息
程序获得一个URLConnection对象,相当于完成对指定URL的一个http链接。
URL mu = new URL("http://www.sun.com/);
URLConnection muC = mu.openConnection();
URLConnection类的方法:
getOutputStream () //获得向远程主机发送信息的OutputStream对象
getInputStream () //获得从远程主机获取信息的InputStream对象
connect () //设置网络链接
(3)信息的发送和接收
例子:以数据流方式读取网页内容
public void readByURL (String urlName)
{
try
{
URL url = new URL (urlName);
URLConnection tc = url.openConnection ();
tc.connect ();
InputStreamReader in = new InputStreamReader(tc.getInputStream ());
BufferReader dis = new BufferedReader (in);
String inLine;
String s = "";
while ((inLine = dis.readLine ()) != null)
{
s += inLine;
}
dis.close ();
}
catch (MalformedURLException e)
{}
}
3、客户机-服务器 模式
socket,套接字:端口号和IP地址的组合
java中套接字有2种:
server端,ServerSocket类支持底层的网络通信
client端,Socket类支持网络的底层通信
实现通信方式有2种:流式socket(面向链接的,即TCP)、数据报式socket(无链接,即UDP)
流式socket原理:
在Client程序和Server程序之间建立链接通信的通道。每个socket可以进行读写两会总操作。
对任何一端,与对方通信会话的过程是:
建立socket链接>>获得输入/输出流>>读/写数据>>通信完成后关闭socket
构造器方法Socket (String host, int port) 建立客户端到服务端的套接字对象,
此后用getInputStream () 或getOutinputStream ()
构造起ServerSocket (int port) 建立接受来自客户机端的服务器套接字对象,
服务器端监听指定端口,收到Client程序发出的服务请求时,船舰一个套接字对象,与改client程序通信:
try
{
Socket sc = serverSocket.accept ();
}
catch (IOException e)
{}
撤销服务:
sc.close ();
- (笔记)网络编程基础--要整理!
- Android基础笔记(五)-网络编程
- Android基础笔记(六)-网络编程
- java基础整理二十三(网络编程)
- java基础整理二十四(网络编程二)
- java基础整理12--网络编程
- JAVA学习笔记整理十(网络编程)
- JAVA基础-网络编程
- 《Python网络编程基础》笔记(一)----底层网络
- 《Python网络编程基础》笔记(一)----底层网络
- python 网络编程基础 笔记
- linux网络编程基础笔记
- 网络编程基础接口笔记
- 《Python网络编程基础》笔记
- 【Java笔记】网络编程基础
- 【笔记】关于网络编程的知识整理
- 网络编程学习笔记整理(一)
- 网络编程学习笔记整理(二)
- 微软并行编程类库Parallel Extensions初探 Part1
- 揭秘中关村手机市场
- 微软~黑你屏有新说~~
- 一段眼睛跟着鼠标转动的跟踪眼代码
- ECMAScript的世界,你认识几个?
- (笔记)网络编程基础--要整理!
- 操作符重载
- 再次拿起JAVA
- What qualities do i need?
- 基于Proteus的ARM虚拟开发
- 征集佳句-精妙SQL语句收集
- SXT:JDBC超级入门——JDBC编程步骤
- 人民币大小写转换
- DOS命令大全