黑马程序员 网络编程

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

黑马程序员 网络编程

一、网络编程基础知识

1、TCP/IP网络程序的IP地址和端口号

IP:网络设备的标识,本地回环地址:127.0.0.1,主机名:localhost

Port(端口):用于标识进程的逻辑地址,不同进程的标识。

有效端口:0~65535,其中0~1024系统占用或保留端口。

2、网络传输协议

UDP:无连接通信协议,因不需要建立连接,通信不安全,但传输速度快,数据大小限制在64k内。

TCP:面向连接的通信协议,必须建立连接,可进行大量数据连接,安全可靠,但传输速度慢。

3、Socket

网络驱动层提供给应用程序编程的接口和一种机制

二、JAVA编写UDP网络程序

//发送端

public class UdpSend {

public static void main(String[] args) throws Exception {

//建立udp的Socket的服务,用DatagramSocket类

DatagramSocket ds=new DatagramSocket();

//封装数据,用DatagramPacket类

String str="您好,我来啦!";

DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(), InetAddress.getByName("169.254.188.21"),3000);

//调用DatagramSocket类的send方法发送数据

ds.send(dp);

//关闭服务

ds.close();

}

}

//接收端

public class UdpRecv {

public static void main(String[] args) throws Exception {

//建立服务,用DatagramSocket类

DatagramSocket ds=new DatagramSocket(3000);

//创建数据包,存储数据

byte [] buf=new byte[1024];

DatagramPacket dp=new DatagramPacket(buf, 1024);

//使用DatagramSocket的receive方法接收数据

ds.receive(dp);

//解析数据

System.out.println(new String(dp.getData()));

//关闭服务

ds.close();

}

}

三、java编写TCP网络程序

//客户端

public class ClientDemo {

public static void main(String[] args) throws Exception, IOException {

//创建客户端Socket服务

Socket socket=new Socket("192.168.1.102",8001);

//获取Socket流中的输出流

java.io.OutputStream out = socket.getOutputStream();

//使用输出流把指定的数据输出

out.write("嗨,哥们,我来了!".getBytes());

//关闭资源

socket.close();

}

}

//服务端

public class ServerDemo {

public static void main(String[] args) throws Exception {

//创建服务端对象

ServerSocket ss=new ServerSocket(8001);

//获取连接过来的客户端对象

Socket s=ss.accept();//阻塞式.

//通过socket对象获取输入流,读取客户端发来的数据

InputStream in=s.getInputStream();

byte [] buf=new byte[1024];

int len=in.read(buf);

System.out.println(new String(buf,0,len));

//关闭资源

s.close();

ss.close();

}

}

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值