问题:Java面试知识点:网络编程

答案:

1.InetAddress

代码如下:

package com.xy;import java.net.InetAddress;
import java.net.UnknownHostException;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test01* @Author: 杨路恒* @Description:* @Date: 2021/9/1 0001 11:31* @Version: 1.0*/
public class test01 {public static void main(String[] args) throws UnknownHostException {InetAddress name = InetAddress.getByName("WIN-S5E6V36PP3P");String hostAddress = name.getHostAddress();String hostName = name.getHostName();System.out.println(name);System.out.println(hostName);System.out.println(hostAddress);}
}

2.UDP

代码如下:

package com.xy;import java.io.IOException;
import java.net.*;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test02* @Author: 杨路恒* @Description:* @Date: 2021/9/1 0001 11:39* @Version: 1.0*/
public class test02 {public static void main(String[] args) throws IOException {DatagramSocket ds=new DatagramSocket();byte[] bytes="杨大大".getBytes();int length=bytes.length;InetAddress address = InetAddress.getByName("192.168.65.1");
//        InetAddress address = InetAddress.getByName("127.0.0.1");int port=10086;DatagramPacket dp=new DatagramPacket(bytes,length,address,port);ds.send(dp);ds.close();}
}public static void main(String[] args) throws IOException {DatagramSocket ds=new DatagramSocket(10086);byte[] bytes=new byte[1024];DatagramPacket dp=new DatagramPacket(bytes,bytes.length);ds.receive(dp);byte[] data = dp.getData();int length=dp.getLength();String s=new String(data,0,length);System.out.println(s);ds.close();}public static void main(String[] args) throws IOException {DatagramSocket ds=new DatagramSocket(666);byte[] bytes=null;DatagramPacket dp=null;while (true) {bytes=new byte[1024];dp=new DatagramPacket(bytes,bytes.length);ds.receive(dp);byte[] data = dp.getData();String s=new String(data,0,data.length);if (s.equals("886")){break;}System.out.println(s);}ds.close();}

3.TCP

代码如下:

package com.xy;import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test06* @Author: 杨路恒* @Description:* @Date: 2021/9/1 0001 21:33* @Version: 1.0*/客户端public class test06 {public static void main(String[] args) throws IOException {
//        Socket s=new Socket(InetAddress.getByName("192.168.65.1"),66);Socket s=new Socket("192.168.65.1",66);OutputStream os = s.getOutputStream();os.write("杨大大".getBytes());s.close();}
}服务器端public static void main(String[] args) throws IOException {ServerSocket ss=new ServerSocket(66);Socket s = ss.accept();InputStream is = s.getInputStream();byte[] bytes=new byte[1024];int length = is.read(bytes);String s1=new String(bytes,0,length);System.out.println(s1);ss.close();s.close();}

文件上传代码如下:

package com.xy;import java.io.*;
import java.net.Socket;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test11Socket* @Author: 杨路恒* @Description:* @Date: 2021/9/2 0002 20:03* @Version: 1.0*/
public class test11Socket {public static void main(String[] args) throws IOException {Socket s=new Socket("192.168.65.1",66);BufferedReader br=new BufferedReader(new FileReader("day09\\aa.txt"));OutputStream os = s.getOutputStream();BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));String length=null;while ((length=br.readLine())!=null){bw.write(length);bw.newLine();bw.flush();}//        bw.write("886");
//        bw.newLine();
//        bw.flush();s.shutdownOutput();BufferedReader br1=new BufferedReader(new InputStreamReader(s.getInputStream()));String s1 = br1.readLine();System.out.println(s1);br.close();s.close();}
}package com.xy;import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test12Socket* @Author: 杨路恒* @Description:* @Date: 2021/9/2 0002 20:08* @Version: 1.0*/
public class test12Socket {public static void main(String[] args) throws IOException {ServerSocket ss=new ServerSocket(66);Socket s = ss.accept();BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));BufferedWriter bw=new BufferedWriter(new FileWriter("day09\\aaa.txt"));String length=null;while ((length=br.readLine())!=null){
//            if (length.equals("886")){
//                break;
//            }bw.write(length);bw.newLine();bw.flush();}BufferedWriter bw1=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));bw1.write("上传成功");bw1.newLine();bw1.flush();ss.close();}
}public static void main(String[] args) throws IOException {ServerSocket ss=new ServerSocket(66);UUID uuid=UUID.randomUUID();System.out.println(uuid);while (true){Socket s = ss.accept();new Thread(new ServerThread(s)).start();}}public class ServerThread implements Runnable{private Socket s;public ServerThread(Socket s) {this.s = s;}@Overridepublic void run() {try {BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));int count=0;File file=new File("day09\\aaa[+"+count+"].txt");while (file.exists()){count++;file=new File("day09\\aaa[+"+count+"].txt");}BufferedWriter bw=new BufferedWriter(new FileWriter(file));String length=null;while ((length=br.readLine())!=null){//            if (length.equals("886")){//                break;//            }bw.write(length);bw.newLine();bw.flush();}BufferedWriter bw1=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));bw1.write("上传成功");bw1.newLine();bw1.flush();s.close();} catch (IOException e) {e.printStackTrace();}}
}

Java面试知识点:网络编程相关推荐

  1. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  2. Java 面试知识点解析(二)——高并发编程篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  3. Java 面试知识点解析——网络协议篇

    Java 面试知识点解析--网络协议篇 前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 ...

  4. Java 面试知识点解析(七)——Web篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  5. Java 面试知识点解析(六)——数据库篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  6. Java 面试知识点解析(三)——JVM篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  7. JAVA 面试知识点

    主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 网络协议相关 数据库相关 MVC 框架相关 大数据相关 Linux ...

  8. 2019年秋招 Java 面试知识点梳理(高频问题)

    Java 面试知识点梳理 基础一 JVM-内存区域分配 HotSpot 对象创建 JVM-类加载机制 JVM-内存分配(堆上的内存分配) JVM-GC回收机制 JVM-垃圾收集器 JVM指令重排序 重 ...

  9. Java面试知识点(全)- Java面试基础部分三

    Java面试知识点(全)https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 文章目录 ThreadPoolExecutor ...

最新文章

  1. 2021语言与智能技术竞赛上线!百度飞桨提供平台算力支持
  2. Django博客系统(推荐文章数据展示)
  3. 转发与重定向(forward与redirect)
  4. ASP.NET中App_Code,App_Data等文件夹的作用转
  5. Arduino终于支持代码补全了!小白们终于可以愉快的写代码了!Arduino IDE 2.0beta功能简介...
  6. 成功解决AttributeError: 'Word2Vec' object has no attribute 'index2word'
  7. memcached+magent实现memcached集群
  8. 存储过程或视图的字符串查询
  9. Linux内核代码 分析大纲思维导图
  10. php高德地图坐标在多边形,多边形的绘制和编辑
  11. hdu 6092 Rikka with Subset 01背包 思维
  12. 怎么自学python-结合学习经历,谈一谈如何学习Python
  13. python-视频抽帧、数据集命名
  14. [ZT]范伟导老师Sniffer课程资料
  15. 【C/C++】简单的程序小游戏-推箱子代码
  16. [LCT BZOJ]2959: 长跑
  17. 中国银行app,H5页面调取支付,并返回状态码。
  18. 随笔三(触动心灵的那些话)
  19. 5款网页版思维导图工具测评
  20. pandas取两个dataframe中不同的行

热门文章

  1. Linux 资料大全
  2. 一个小码农对嵌入式的理解
  3. 中希尔排序例题代码_【数据结构与算法】这或许是东半球分析十大排序算法最好的一篇文章...
  4. 【Pytorch神经网络理论篇】 12 卷积神经网络实现+卷积计算的图解
  5. OpenCV_02 图像的基本操作:图像IO+绘制图形+像素点+属性+图像通道+色彩空间的改变
  6. 一、PHP框架Laravel——入门和安装
  7. LeetCode 2149. 按符号重排数组(双指针)
  8. LeetCode 2075. 解码斜向换位密码(模拟)
  9. LeetCode 43. 字符串相乘(大数乘法)
  10. java sftp mget_总结三种Shell脚本编程中避免SFTP输入密码的方法