JAVA程序开发----网络编程
1.简述TCP/IP的参考模型层次结构。
一共有4层,分别是物理+数据链路层、网络层、传输层和应用层。
2.举例说说你对IP地址和端口号的理解。
如果把程序当做人,把计算机网络当做类似邮递员的角色,当一个程序需要发送数据时,指定目的地的IP地址就像指定了目的地的街道或楼号,但这样还是找不到目的地的,还需要指定房间号,也就是端口号。
3.简述UDP和TCP的区别。
UDP将数据及源和目的封装成数据包中,不需要建立连接,每个数据报的大小在限制在64k内,因无连接,所以是不可靠协议,效率高;TCP需要通过三次握手完成连接,是可靠协议,在连接中能进行大数据量传输,传输前需要建立连接,所以效率低。
4.简述如何解决端口号冲突的问题。
首先打开终端,输入命令“netstat -ano”查看占用端口号程序的PID,然后在Windows资源管理器中通过PID找到该进程,结束进程即可。
5.说说建立TCP连接“三次握手”的过程。
第一次握手是客户端连接到server,server accept client的请求之后,向client端发送一个消息,相当于说我都准备好了,你连接上我了,这是第二次握手,第3次握手是client向server发送的,是对第二次握手消息的确认。这样client和server就开始通讯了。
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;/*** 服务器端*/public class elevenA {public static void main(String[] args) throws IOException {ServerSocket ss = new ServerSocket(9999);System.out.println("等待接受数据...");Socket s = ss.accept();//accept()侦听并接受到此套接字的连接InputStream is = s.getInputStream();byte[] b = new byte[20];int len;while ((len = is.read(b)) != -1){String str = new String(b,0,len);System.out.println(str);}OutputStream os = s.getOutputStream();os.write("服务器已收到信息".getBytes());os.close();is.close();s.close();ss.close();}
}
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;/*** 客户端*/public class elevenAa {public static void main(String[] args) throws IOException {System.out.println("正在发送数据....");//创建套接字//InetAddress.getByName()返回套接字连接的地址Socket s = new Socket(InetAddress.getByName("127.0.0.1"),9999);OutputStream os = s.getOutputStream();//返回套接字的输出流os.write("董小康".getBytes());//shutdownOutput():执行此方法,显示地告诉服务器端发送完毕s.shutdownOutput();InputStream is = s.getInputStream();//返回套接字的输入流byte[] b = new byte[20];int len;while((len = is.read(b)) != -1){String str = new String(b,0,len);System.out.println(str);}is.close();os.close();s.close();}
}
JAVA程序开发----网络编程相关推荐
- Java面向对象程序开发——网络编程入门知识
目录 七.网络编程入门知识 软件结构 网络通信协议 协议分类 网络编程三要素 TCP通信程序 概述 Socket类 构造方法 成员方法 ServerSocket类 构造方法 成员方法 简单的TCP网络 ...
- JDK文档是Java程序开发不可缺少的编程词典
Java 构建商业应用程序或者某种物联网设备,构建了Android 操作系统,它为智能手机行业做出了杰出的贡献.借助 Android 操作系统,手机厂商才得以在早期与黑莓抗衡,之后又能够打破苹果的主导 ...
- Java进阶之网络编程
网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编 ...
- java程序设计之网络编程基础教程_Java程序设计之网络编程基础教程
基本信息 书名:Java程序设计之网络编程基础教程(21世纪高等学校计算机基础实用规划教材) :43.50元 作者:李芝兴 主编 出版社:清华大学出版社 出版日期:2012-12-1 ISBN:978 ...
- Java学习之网络编程实例
转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 多谢分享 网络编程 网络编程对于很多的初学者来说,都是很向往的一 ...
- 第78节:Java中的网络编程(上)
第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...
- Java学习笔记-网络编程
Java提供了网络编程,并且在实际中有着大量运用 网络编程 网络编程概述 网络模型 OSI参考模型 TCP/IP参考模型 网络通讯要素 IP地址 端口号 传输协议 网络参考模型 网络通讯要素 IP地址 ...
- 【java笔记】网络编程概述
[java笔记]TCP通信程序_m0_52043808的博客-CSDN博客 [java笔记]网络编程:文件上传案例_m0_52043808的博客-CSDN博客 网络编程: 在一定协议下,实现两台计算机 ...
- java程序开发个人笔记_Java程序开发入门笔记
Java程序开发入门笔记 如果你是这一个错误的话:错误:编码GBK的不可映射字符 这是因为我们编写的代码一般都是utf-8的格式而控制台用的不是utf-8格式所以就会出现中文输出的错误.这个时候我们可 ...
最新文章
- 普华永道重磅报告:决定未来的八大核心科技
- sql avg函数使用格式_SQL AVG-SQL平均函数用语法示例解释
- iOS - 毛玻璃动画效果
- (六)boost库之内存管理shared_ptr
- 深度学习之卷积神经网络 GoogleNet
- 面试pythone_叮!你需要的Python面试指南以送到!
- 11g Rac 服务介绍
- php提交字符串中有加号(+)时会后台得到空格的问题
- go web框架_干货分享:六个知名的Go语言web框架
- Flyod和Warshall
- 优秀ASP.NET程序员的修炼之路(转)
- python全排列abc_abc的全排列
- 远程办公软件:TeamViewer使用评测与安装
- PPT中的图像如何导出不失真的矢量图
- 三角诱导公式 两角和与差 二倍角公式 降幂公式 半角公式 万能公式 积化和差公式 和差化积公式
- 端侧智能存算一体芯片的需求、现状与挑战
- Deep Closest Point学习笔记(才开始接触点云)
- 黑马程序员————第三天
- 手把手调参最新 YOLOv7 模型 训练部分 - 最新版本(二)
- 干货课堂丨分享一种LCD驱动电路方案【飞凌嵌入式】