美文网首页
2018-10-23网络编程面试题

2018-10-23网络编程面试题

作者: 辰321 | 来源:发表于2018-10-23 11:38 被阅读0次

1.网络编程时的同步、异步、阻塞、非阻塞?

同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果。

异步:函数调用在没得到结果之前,没有调用结果,返回状态信息。

阻塞:函数调用在没得到结果之前,当前线程挂起。得到结果后才返回。

非阻塞:函数调用在没得到结果之前,当前线程不会挂起,立即返回结果。

2什么是java 的序列化(串行化)?

简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),

并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。

3.什么情况下需要序列化?序列化的注意事项,如何实现java 序列化(串行化)?

· 当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;

· 当你想用套接字在网络上传送对象的时候;

· 当你想通过RMI传输对象的时候;

4.用JAVA SOCKET 编程,读服务器几个 字符,再写入本地显示。

客户端向服务器端发送连接请求后,就被动地等待服务器的响应。

典型的TCP客户端要经过下面三步操作:

1、创建一个Socket实例:构造函数向指定的远程主机和端口建立一个TCP连接;

2、通过套接字的I/O流与服务端通信;

3、使用Socket类的close方法关闭连接。

服务端的工作是建立一个通信终端,并被动地等待客户端的连接。

典型的TCP服务端执行如下两步操作:

1、创建一个ServerSocket实例并指定本地端口,用来监听客户端在该端口发送的TCP连接请求;

2、重复执行:

1)调用ServerSocket的accept()方法以获取客户端连接,并通过其返回值创建一个Socket实例;

2)为返回的Socket实例开启新的线程,并使用返回的Socket实例的I/O流与客户端通信;

3)通信完成后,使用Socket类的close()方法关闭该客户端的套接字连接。

TCP/IP通常看做四层模型:应用层,传输层,网络层,数据链路层

TCP/IP在连接时有几次握手?释放时有几次握手?

TCP三次握手连接的建立过程:

TCP四次挥手的释放过程:

相关文章

网友评论

      本文标题:2018-10-23网络编程面试题

      本文链接:https://www.haomeiwen.com/subject/qtvozftx.html