【第22期】观点:IT 行业加班,到底有没有价值?

JAVA基础-----网络编程

原创 2016年08月29日 19:27:55
网络编程三要素:端口,IP地址,协议
协议:
UDP:面向无连接,不安全,速度快
TCP:面向连接,安全,三次握手
(一)
使用UDP实现数据的发送
1.创建Socket端点
2.明确要发送的数据
3.使用Socket的发送功能发送数据
DatagramSocket socket = new DatagramSocket();//创建Socket对象
String ss = "hello world";
DatagramPacket packet = new DatagramPacket(ss.getBytes(),ss.getBytes().length,
InetAddress.getByName("127.0.0.1"),4444);//数据打包
socke.send(packet);//发送数据
socket.close();//关闭Socket
使用UDP实现数据的接收
1.创建Socket端点,同时监听端口
2.创建一个空的数据报包来接受数据
3.使用Socket接收功能接收数据
DatagramSocket socket = new DatagramSocket(4444);//创建Socket对象
byte[] b = new byte[1024];
DatagramPacket packet = new DatagramPacket(b,b.length);//创建一个空的数据打包
socke.receive(packet);//接收数据
b = packet.getData();//获取接收到的数据
String ss = new String(b,0,packet.getlength);//对数据进行解码


InetAddress address = packet.getAddress();//获取发送的主机
String ip = address.getHostAddress();//获取发送主机的IP地址
int port = packet.getPort();//获取端口号


socket.close();//关闭Socket


(二)
使用TCP实现数据的发送
1.创建Socket客户端对象,同时知名连接的服务器地址和端口号
2.向服务器发送数据,使用输出流
3.接收服务器返回的信息
4.关闭流对象
Socket socket = new Socket(InetAddress.getByName("10.0.185.175"),4444);//创建Socket对象


OutputStream out = socket.getOutputStream();
out.write("hello world".getBytes());//向服务器传输数据


InputStream in = socket.getInputStream();
byte[] b = new byte[1024];
int num=in.read(b);//从服务器读取数据
String ss= new String(b,0,num);


socket.close();//关闭流对象
使用TCP实现数据的接收
1.创建ServerSocket对象,同时监听端口
2.得到客户端使用的Socket流,即客户端对象
3.接收数据
3.想客户端发送信息
4.关闭流对象
ServerSocket server = new ServerSocket(4444);//创建对象
Socket socket = server.accept();//获取Socket流对象


InputStream in = socket.getInputStream();
byte[] b = new byte[1024];
int num=0;
while((num=in.read(b))!=-1)//从客户端接收数据
{
System.out.print(new String(b,0,num));
}


OutputStream out = socket.getOutputStream();
out.write("发送成功".getBytes());//向客户端传输数据


socket.close();//关闭流对象


(三)
URL: 统一资源定位符
String path = "http://Localhost:8080/myweb/mail.html";
URL url = new URL(path);
URLConnection conn = url.openConnection();//连接服务器


InputStream in = conn.getInputStream();
byte[] b = new byte[1024];
int num = 0;
while((num = in.read(b))!=-1)//读取服务器传回的数据
{
System.out.print(new String(b,0,num));
}
另:url.getProtocol()  //协议
    url.getHost  //IP地址
    url.getPort  //端口
    url.getPath  //得到资源路径
    url.getFile  //得到资源路径+?后面的信息
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

java网络编程基础知识预热

课前思考 1. 什么是TCP/IP协议? 2. TCP/IP有哪两种传输协议,各有什么特点? 3. 什么是URL? 4. URL和IP地址有什么样的关系? 5. 什么叫套接字(Socket)? 6. ...

黑马程序员--java基础复习--NET网络编程

---------------------- ASP.Net+Android+IO开发S、<a style="color: #108ac6; text-decoration: underline;" href="http://edu.csdn.net/"

Java基础:网络编程

1. 网络编程概述自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机...

Java 网络编程(一) 网络基础知识

网络基础知识   网络编程的目的:直接或间

java基础学习笔记——网络编程

Java网络编程原理概述。
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)