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 Scrip

  • 2007年08月19日 18:22
  • 525KB
  • 下载

java基础——GUI、网络编程

GUIGUI:图形用户界面用图形的方式,来显示计算机操作的界面,这样更方便,更直观java为GUI提供的对象都存在java.awt和javaX.swing两个包中 Awt和Swing 1、ja...

Java socket网络编程的基础示例

  • 2017年08月27日 12:13
  • 7KB
  • 下载

JAVA语言网络编程概念基础

  • 2010年04月29日 09:43
  • 965KB
  • 下载

黑马程序员——Java基础:网络编程

——-android培训、java培训、期待与您交流!  ———-   一、网络编程 网络编程:在java.net包中。 网络通信:       1.首先要找到对方的IP       2.数据要发送...

java网络编程基础

  • 2009年11月27日 10:17
  • 914B
  • 下载

java网络编程基础夯实04-DNS缓存

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://androidguy.blog.51cto.com/974126/214814 ...
  • Mark_LQ
  • Mark_LQ
  • 2015年03月07日 16:44
  • 548
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA基础-----网络编程
举报原因:
原因补充:

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