Scocket:
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
Socket是如何建立连接的?
服务器端先初始化Socket,然后与端口绑定,对端口进行监听,调用accept阻塞,等待客户端连接。此时如果有个客户端初始化一个Socket,然后连接服务器,如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。
用Socket做一个简易的人机对话小程序,
首先先写服务器端,代码如下:
import socket
import threading
questioDict = {
'苹果':"一种水果,很好吃",'小姐姐':'是对女孩子的一种描述',
'猪':'是一种动物','佩奇':'是一只粉色的小猪'}
#智能问题机器人服务器
class RobortServer():
def __init__(self,port=8088,connectSize=100 ,ip ='10.0.14.216'):
"port:服务器端口号"
#connectSize:默认的并发数量
self.__ip = ip
self.