java-网络编程Lesson1
来源:互联网 发布:万国数据fm经理待遇 编辑:程序博客网 时间:2024/04/25 22:12
作业:
1. 使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello, world”。
package udp;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class UDPSend { public static void main(String[] args) throws Exception { //创建 DatagramSocket对象 DatagramSocket ds = new DatagramSocket(3000); String str = "hello world";//要发送的数据 //创建一个要发送的数据包,包括数据的内容、长度、发送的IP地址和端口号 DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(), InetAddress.getByName("localhost"), 8001); System.out.println("发送信息"); ds.send(dp); //发送信息 ds.close(); //释放资源 }}
package udp;import java.net.DatagramPacket;import java.net.DatagramSocket;public class UDPReceiver { public static void main(String[] args) throws Exception { //创建一个长度为1024的字节数组,用于接收数据 byte[] buf = new byte[1024]; //创建一个DatagramSocket对象,监听端口号为8001 DatagramSocket ds = new DatagramSocket(8001); //创建一个DatagramPacket对象,用于接受数据 DatagramPacket dp = new DatagramPacket(buf, 1024); System.out.println("等待接收数据"); //等待接收数据,如果没有数据则会阻塞 ds.receive(dp); //调用DatagramPacket的方法接收到的信息,包括数据的内容、长度、发送的IP地址和端口号 String str = new String(dp.getData(),0, dp.getLength()); System.out.println(str); //打印接收到的信息 ds.close(); //释放资源 }}
2. 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
package tcp;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TCPServer { public static void main(String[] args) throws Exception{ //创建ServerSocket对象,端口号为8002 ServerSocket serverSocket = new ServerSocket(8002); //调用accept()方法等待客户端连接,当与客户端连接后,调用Socket的getOutputStream()方法获得输出流对象,输出“hello world。 Socket client = serverSocket.accept(); //获取客户端的输出流 OutputStream os = client.getOutputStream(); os.write(("hello world").getBytes()); os.close(); client.close(); }}
package tcp;import java.io.*;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;public class TCPClient { public static void main(String[] args) throws UnknownHostException, IOException { byte[] buf = new byte[1024];//创建一个长度为1024的字节数组,用于接收数据 //指定服务器的IP地址和监听端口号,与服务器端建立连接后 Socket client = new Socket(InetAddress.getLocalHost(), 8002); //调用Socket的getInputStream()方法获得输入流对象,读取数据,并打印出来 InputStream is = client.getInputStream(); int len = is.read(buf); System.out.println(new String(buf, 0, len)); client.close(); }}
阅读全文
0 0
- java-网络编程Lesson1
- java lesson1
- Java学习 lesson1
- Java Web Lesson1:基础知识
- 阿甘学Java--lesson1
- 阿甘学Java视频--lesson1
- Java SE Lesson1
- Java lesson1 java开发前奏
- lesson1
- lesson1
- lesson1
- Lesson1
- lesson1
- 【网络编程】JAVA网络编程
- Hibernate框架开发笔记lesson1 Hibernate编程
- springMVC框架开发笔记 lesson1 springMVC编程
- Lesson1---Foundations of java and oo programming
- java网络编程:网络基本概念
- 一级购物车(自定义view和自定义拦截器interceptor)
- 通过位运算求一个集合的子集
- 顺序表和有序表的查找以及有序表的递归查找
- Tensorlayer学习笔记——卷积神经网络
- 将exe和dll文件打包成单一的启动文件
- java-网络编程Lesson1
- junit单元测试时,出现java.lang.ClassNotFoundException
- 并查集的优化
- ACM博弈论总结
- FFT详解
- 欢迎使用CSDN-markdown编辑器
- Mybatis的查询方式
- Eclipse 65535 问题解决方案
- Java泛型