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网络编程基础知识

java网络编程基础知识 一、网络基本概念 1、计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,...
  • wfgeqgeq
  • wfgeqgeq
  • 2011年09月19日 19:24
  • 3381

Java基础之网络编程知识点总结

网络编程----Java语言涵盖的领域很广,对于网络方面,java也是相当棒的,java也是可以完成网络通讯的功能的...
  • u011460827
  • u011460827
  • 2014年12月01日 22:00
  • 1746

java 之 API-网络编程

网络编程概述计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机...
  • LiuMiao1128
  • LiuMiao1128
  • 2016年11月19日 15:15
  • 275

网络编程基础概述

网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。 在 学...
  • w627782664
  • w627782664
  • 2011年12月27日 19:59
  • 6523

全栈必备 网络编程基础

或许,老码农说的都是错的,了解了所谓的网络基础,也不一定写出漂亮的代码,不了解所谓的网络基础,也不一定写不出漂亮的代码,全当他自言自语吧。...
  • wireless_com
  • wireless_com
  • 2017年01月30日 00:00
  • 3916

网络编程2--毕向东java基础教程视频学习笔记

转载地址:http://www.cnblogs.com/wsw-tcsygrwfqd/p/5131781.html Day 23 08 Udp接收端 09 Udp键盘录入...
  • l_215851356
  • l_215851356
  • 2017年03月12日 16:48
  • 227

JavaScript---网络编程(1)-介绍、变量、运算符与语句

JavaScript也是一种编程语言。并不是Java的分支哦。 可以直接在浏览器中运行的编程语言。JavaScript 的历史故事: 1、JavaScript语言与名称的由来(Netscape,S...
  • qq_26525215
  • qq_26525215
  • 2016年05月29日 18:39
  • 6087

java并发编程——一并发基础

为什么使用多线程 多任务的处理,提高处理速度,减少相应时间,更好的体验 随着cpu的核心数量越来越多,提供了充足的硬件基础,使用多线程重复发挥机器的计算能力,合理利用资源 上下文切换cpu通过给每个线...
  • lemon89
  • lemon89
  • 2016年06月29日 09:51
  • 563

Android网络编程基础(一) - 基础知识

内容介绍:Android网络编程基础 博客地址:http://blog.csdn.net/kevindgk 版权声明:本文为原创文章,未经允许不得转载 联系方式:815852777...
  • KevinDGK
  • KevinDGK
  • 2016年08月16日 17:45
  • 2285

socket网络编程的一些基础知识

目录: 1) 什么是套接字? 2) Internet 套接字的两种类型 3) 网络理论 4) 结构体 5) 本机转换 6) IP 地址和如何处理它们 7) socket()函数 8) bind()函数...
  • roger_77
  • roger_77
  • 2006年12月22日 11:17
  • 6749
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA基础-----网络编程
举报原因:
原因补充:

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