【基础复习】十三:计算机网络与分布式系统
补充:
1.TCP和UDP的区别
2.如何编写Socket套接字?
解析:
Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。如果你要编写的是一个服务程序,那么先调用socket()创建一个套接字,调用bind()绑定IP地址和端口,然后启动一个死循环,循环中调用accept()接受连接。对于每个接受连接,可以启动多线程方式进行处理,在线程中调用send()、recv()发送和接收数据。
如果你要编写的是一个客户端程序,那么就简单多了。先调用socket()创建一个套接字,然后调用connect()连接服务器,之后就是调用send()、recv()发送和接收数据了。
答案:
服务器端程序编写:
(1)调用ServerSocket(int port)创建一个服务器端套接字,并绑定到指定端口上
(2)调用accept(),监听连接请求,则接收连接,返回通信套接字
(3)调用Socket()类的getOutStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收
(4)关闭通信套接字的.Socket.close()
客户端程序编写:
(1)调用Socket()创建一个流套接字,并连接到服务器端
(2)调用Socket类的getOutStream()和fetInputStream获取输出流和输入流,开始网络数据的发送和接收
(3)关闭通信套接字.Socket.close()
from《程序员面试宝典》
越努力越幸运~