关于TCP/IP戳下方链接
http://blog.csdn.net/goodboy1881/article/category/204448
URL类:用于解析URL,返回该地址的信息如协议名,端口号,ip地址等
使用BufferedReader可以从URL获取html文档内容。
URL url = new URL("http://www.baidu.com");
URLConnection类:URLConnection类表示了应用程序和URL资源之间的通信连接
try {
URL ibm = new URL("http://www.sise.com.cn");
URLConnection gc = ibm.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(gc.getInputStream()));
String str;
while ((str = in.readLine()) != null)
System.out.println(str);
in.close();
}catch (Exception e) {
e.printStackTrace();
}
}
结果输出html文档代码
InetAddress类:InetAddress是Java对IP地址的封装,在java中很多类使用到它。
InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取InetAddress的实例,或者使用数字来构造,并且启用了反向主机名解析的功能)。InetAddress类提供了将主机名解析为IP地址(或反之)的方法。
获取本机ip地址
try{
InetAddress ia=InetAddress.getLocalHost();
System.out.println(ia.getHostAddress());
System.out.println(ia.toString());
}catch(UnknownHostException uhe){
<span style="white-space:pre"> </span>....
}
Socket(套接字)类:在C/S结构软件的客户端和服务器之间定义一套通信协议,并创建一个socket类,并利用这个类建立一条可靠的连接。
客户端发送请求到服务器,服务器接收请求并作出响应,称为“请求—应答”模式。
socket以两种模式操作:面向连接的模式:使用TCP/IP协议
无连接模式:使用用户数据包协议(UDP)
TCP编程:
简单聊天程序:
//服务器端代码主要片断
int i = 0;// 计数
try {
ServerSocket ss = new ServerSocket(2345);// 创建ServerSocket对象
System.out.println("服务器启动......");
while (true) {
Socket socket = ss.accept();// 等待客户端连接,并生成Socket对象
i++;// 计数
System.out.println("接受连接请求" + i);
//得到Socket的输出流,并包装
PrintStream out = new PrintStream(socket.getOutputStream());
out.println("你好!“+i);
out.close();
socket.close();
if (i>=3)//连接数大于等于3时,服务器程序退出
break;
}
} catch (IOException e) {
System.out.println(e);
}
//客户端代码主要片断
try {
Socket sock = new Socket("127.0.0.1", 2345);// 创建Socket对象,地址与端口要对应服务器的值
// 对Socket的输入流进行包装
BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
String s = in.readLine();
System.out.println(s);
in.close();
} catch (IOException e) {
System.out.println("error!");
}
(为了不相互影响,还应使用单独线程对应一个套接字)
UDP编程:
TCP:URL,URLConnection,Socket,ServerSocket类
UDP:DatagramPacket,DatagramSocket,MulticastSocket类.
使用范围:
TCP:FTP等
UDP:ICQ(QQ),音频、视频传送等