Java练习--网络编程(14)
来源:互联网 发布:超级优化基因液 编辑:程序博客网 时间:2024/05/21 18:34
1、使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello, world”。
Send.java(发送端):
package UDP;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class Send{ public static void main(String args[]) throws IOException{ DatagramSocket ds=new DatagramSocket (3000);//创建一个DatagramSocket对象 String str="Hello,world!"; //要发送的数据 DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),8001);//创建一个要发送的数据包,包括数据,长度,接收端的ip及端口号 System.out.println("发送消息"); ds.send(dp); //发送数据 ds.close();//释放资源 }}
Received.java(接收端):
package UDP;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;public class Received { public static void main(String args[]) throws IOException{ byte[] buf=new byte[1024]; //创建一个1024的字节数组,用于接收数据 DatagramSocket ds=new DatagramSocket(8001); //定义一个DatagramSocket对象,监听的端口号为8954 DatagramPacket dp=new DatagramPacket(buf,1024); //定义一个DatagramPacket对象,用于接收数据 System.out.println("等待接收数据"); ds.receive(dp); //等待接收数据,没有则会阻塞 String str=new String(dp.getData(),0,dp.getLength())+"from" +dp.getAddress().getHostAddress()+":"+dp.getPort(); //获取接收到的消息 System.out.println(str); ds.close(); } }
2、使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
TCPClient.java(客户端):
package 网络编程;import java.io.DataInputStream;import java.io.InputStream;import java.net.Socket;public class TCPClient { public static void main(String[] args) throws Exception{ Socket s1=new Socket("127.0.0.1", 8002); InputStream is=s1.getInputStream(); DataInputStream dis=new DataInputStream(is); System.out.println(dis.readUTF()); dis.close(); s1.close(); } }
TCPServer(服务端):
package 网络编程;import java.io.DataOutputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TCPSever { public static void main(String[] args) throws Exception{ ServerSocket s=new ServerSocket(8002); while (true) { Socket s1=s.accept(); OutputStream os=s1.getOutputStream(); DataOutputStream dos=new DataOutputStream(os); dos.writeUTF("Hello, world"); dos.close(); s1.close(); } } }
阅读全文
0 0
- Java练习--网络编程(14)
- Java 网络编程 练习
- Java基础知识网络编程(TCP练习)
- java例程练习(网络编程[简单网络连接试验])
- java例程练习(网络编程[简单双向通信试验])
- java例程练习(网络编程[简单UDP通信试验])
- (15)Java网络编程-应用练习篇
- Java基础-网络编程(TCP练习)
- Java开发练习9.1 网络编程UDP
- java学习练习(编程练习)
- 13、python网络编程练习(一)
- Python网络编程socket练习(TCP)
- vs2010 网络编程练习
- 网络编程练习-fcntl
- 网络编程练习-ioctl
- 网络编程小练习
- 网络编程协议练习
- JAVA网络编程技术 - UDP练习,模仿多线程聊天室
- 编译ORB-SLAM2提示:undefined reference to symbol '_ZN2cv6String10deallocateEv'
- ZOJ
- JavaScript语言的历史
- 输出树形结构的二叉树
- 闲聊机器学习医疗应用的“最后一公里”
- Java练习--网络编程(14)
- 关于嵌入式C&&C++的一些编程问题(四)
- 1.web请求
- Tensorflow体验: 搭建 3D CNN
- 自学python(4)函数概述,参数,可变参数,关键字参数,组合参数,递归函数
- 极简方式理解python闭包操作
- ubuntu17.10 shadowsocks VPS 代理
- 【STL】 map
- 银行编码问题