1、如何新建一个客户端Socket服务

//new出一个对象即可
//指定链接的IP地址,端口号
Socket socket =new Socket("www.baidu.com",1000);

2、写出Socket连接服务器与服务器进行交互的代码

//新建Socket服务,将数据发送给服务端
Socket socket =new Socket("www.baidu.com",1000);
//得到写入流
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
//写入数据
bw.write("i love you");
bw.newLine();
bw.close();
//从服务端读取数据
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream));
String line =null;
StringBuilder sb=new StringBuilder();
while(line=((br.readLine())!=null)
{sb.append(line);
}
System.out.println(sb.toString());

3、什么时候会关闭Socket服务
有4种情况会关闭,分为手动或者系统。
手动的方式:
1、socket.close();
2、InputStream.close();
系统:
1、程序退出
2、新的Socket请求覆盖
总结,一般而言,手动的话容易造成网络被占用,因为需要一段时间的缓冲,不然会占用大量的网络资源
4、如何使用Socket.connect();的方法连接服务器

Socket socket=new Socket();
socket.connetct(new InetSocketAddress("www.baidu.com",1000));

5、网络的超时
我们要知道,我们客户端与服务端的连接的异常会出现在两个方面,第一个是发送请求,一个是接收服务端传送回来的信息
那么网络延时也是发生在这个时候,第一个是请求超时,第二是获取数据超时,为了提供用户的体验,我们可以设置在发送请求的时候设置超时时间,方法是setSOTimeout(time);
ps:SO是Socket的缩写
6、在之前我们说socket关闭释放网络资源的时候,我们说可以使用close方法,但是如果在关闭的时候,我们的信息还没发完整,这个时候我们应该设置一个比较长的时间,连接到服务器,然后将信息提交的时候,设置长时间,比如一分钟。
7、如何新建一个ServiceSocket服务

ServiceSocket servicesocket =new SocketSocket(1000);
//指定请求队列长度
ServiceSocket servicesocket =new SocketSocket(1000,100);

8、什么是请求队列
一个服务端接收来自客户端的请求,可能有多个服务端的请求,这个时候服务端会将请求放进队列,(队列是先进先出的原则),每一个客户端的请求都有相应的新的线程去处理,当服务端开启accept的时候,就开始处理,但是当客户端请求过多,超出队列长度的时候,就会抛异常

TCP/IP知识总结面试题之Socket服务相关推荐

  1. TCP/IP协议学习(五) 基于C# Socket的C/S模型

    TCP/IP协议作为现代网络通讯的基石,内容包罗万象,直接去理解理论是比较困难的:然而通过实践先理解网络通讯的理解,在反过来理解学习TCP/IP协议栈就相对简单很多.C#通过提供的Socket API ...

  2. TCP/IP协议的一个具体实现Socket

    java 中Socket的用法 TCP/IP协议 两个不同的协议,放在一起说.IP协议是用来查找地址的,对应网际互连层:TCP协议是用来规范传输规则的,对应传输层. TCP在传输之前会进行三次沟通(三 ...

  3. java 套接字 访问tcp_Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信

    套接字Socket的引入 为了能够方便地开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统用调用socket(套接字). socket的出现,使程序员可以很方便地访 ...

  4. RT-Thread 之 WIZnet 软件包(全硬件TCP/IP协议栈W5500以太网芯片) 以太网 Socket 通信

    目录 1.介绍 1.1 WIZnet 1.2 W5500 2.RT-Thread Studio 配置及相关代码 2.1 添加WIZnet软件包 2.2 配置 WIZnet 软件包 2.3 配置 spi ...

  5. TCP/IP 协议 常见面试题1

    1  TCP和UDP区别,应用场景 TCP:为应用层提供可靠的.面向连接的和基于流的服务.使用超时重传.数据确认等方式来确保数据包被正确地发送至目的端,因此服务是可靠的.使用TCP协议通信的双方必须先 ...

  6. c++tcp接收文件缓存多大合适_必知必会的TCP/IP知识

    点击上方「蓝字」关注我们 1 TCP/IP模型 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络 ...

  7. TCP/IP协议常见面试题

    1.简述TCP的三次握手和四次挥手 SYN:请求建立连接,FIN:请求断开连接,ACK:确认是否有效, seq:序列号, ack:确认号 1)三次握手 1.客户端向服务端发送⼀个SYN=1(请求建立连 ...

  8. TCP/IP知识理解(下)

    2.11 缓冲区大小及限制 2.11 缓冲区大小及限制 下面我们将介绍一些影响IP数据报大小的限制.我们首先介绍这些限制,然后就它们如何影响应用进程能够传送的数据进行综合分析. IPv4数据报的最大大 ...

  9. Linux下的TCP/IP编程----IO复用及IO复用服务端

    http://blog.csdn.net/wqc_csdn/article/details/51583901 在之前我们实现的并发服务端时通过床将多个进程来实现的,这种并实现并发的方式简单方便,但是进 ...

最新文章

  1. OnFocuChangeListener焦点事件
  2. 如何修复“ android.os.NetworkOnMainThreadException”?
  3. python流程控制语句-Python流程控制语句的深入讲解
  4. linux su和sudo命令的区别
  5. 洛谷P2056:[ZJOI2007]捉迷藏(点分树、STL)
  6. 用博文中的方法-r -d \t试了下conlleval测试crf++的输出
  7. 小程序入门学习12--云函数与数据库01
  8. java8 clock_java8新的时间api
  9. iis 下的 selfssl
  10. H264 码率控制原理
  11. 大数据工具七剑下天山之Flume (一)
  12. 对扫描出的图片进行纠偏
  13. CSS选择器有哪几种?举例轻松理解CSS选择器
  14. 用深度学习识别海洋生物?飞桨轻松完成挑战!
  15. lower_bound和upper_bound的区别
  16. Formatter(格式化)和 Converter(格式化)
  17. 关于前端页面在IE浏览器下无法显示的问题
  18. Python批量修改单个文件夹文件后缀
  19. 2010中13寸MacbookPro光驱位安装SSD记录
  20. 中国大陆5所院校入选2022 QS亚洲地区大学前10名;中国内地被评为全球进步最快的养老金体系 | 美通社头条...

热门文章

  1. android编译时忽略某些error
  2. css实现html透明效果
  3. 计算机如何寻址硬盘,寻址
  4. 定语状语异同 限定和修饰关系 句子结构(修饰和被修饰)
  5. Composite 聚合——Elasticsearch 聚合后分页新实现
  6. wps横向计算机在哪里,Win7系统如何横向打印WPS文件
  7. 海思3559A平台4GB LPDDR配置方案
  8. BNUOJ 53073 【找规律】
  9. 在湖北考取的交通类安全员B证可以调转河南省企业使用吗?
  10. supervisor的程序控制修改参考方案