Java网络编程

来源:互联网 发布:excel统计空单元格数据 编辑:程序博客网 时间:2024/06/01 13:19

网络编程主要是指完成C/S程序的开发,程序开发结构主要有两种:

客户端/服务器C/S:需要开发两套程序,两套程序需要同时维护。C/S程序比较稳定。如QQ;

浏览器/服务器B/S:需要开发一套程序,客户端直接使用浏览器进行访问。例如论坛。B/S程序一般稳定性较差、安全性也较差。


对于Java来说以B/S为主。

TCP:传输控制协议,采用三次握手的方式,保证准确的连接操作。

UDP:数据报协议,发送数据报,例如手机短信或者QQ消息。

所有的开发包都保存在java.net包中。


TCP:服务器、客户端

服务器用ServerSocket 、Socket

public ServerSocket(int port) throws IOException

public Socket accept() throws IOException


客户端用Socket

public Socket(String host, int port) throws UnknownHostException, IOException

public InputStream getInputStream() throws IOException

public OutputStream getOutputStream() throws IOException


UDP :属于不可靠的连接,使用数据报协议进行发送,主要有以下两个类:

数据报:DatagramPacket

数据报的Socket:DatagramSocket

服务端

package com.cn.dataServer;


import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;


public class Server {
public static void main(String[] args) throws Exception {
String info = "Hello World";
DatagramPacket dp = new DatagramPacket(info.getBytes(), 0,
info.length(), InetAddress.getByName("localhost"), 6000);
DatagramSocket server = new DatagramSocket(3000);
server.send(dp);
server.close();
}
}


客户端:

package com.cn.dataClinet;


import java.net.DatagramPacket;
import java.net.DatagramSocket;


public class Client {
public static void main(String[] args) throws Exception
{
byte b[] = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length);
DatagramSocket client = new DatagramSocket(6000);
client.receive(dp);
System.out.println(new String(dp.getData(), 0, dp.getLength()));
client.close();
}
}

0 0
原创粉丝点击