标签:可靠 input 清单 connect 独立 数据传输 数据报 编程 端口
1)面向连接的套接字与无连接套接字之间的区别是什么?
面向连接的通信提供序列化的,可靠的和不重复的数据交付,而没有记录边界。主要协议类型为TCP(传输控制协议),必须使用sock_stream作为套接字类型。
无连接的套接字,在通信开始前不需要建立连接,数据传输中无法保证数据的顺序性,可靠性或重复性,但是保存了记录边界,提供更好的性能;主要协议类型为UDP(用户数据报协议),必须使用sock_DGRAM作为套接字类型。
2)描述客户端/服务器架构
客户端请求服务器数据,等待服务器的响应,最后完成请求或者报错。分为硬件客户端、软件客户端/服务器
3)TCP和UDP之中,哪种类型的服务器接受连接,并将它们转换到独立的套接字进行客户端通信
4)更新TCP客户端,已使服务器名称无须硬编码到应用程序中。此外,应该应许用户指定主机名和端口号,且如果二者中任意一个或者全部参数丢失,那么使用默认值
from socket import *
BUFSIZE = 1024
host=input("输入你要接连ip地址")
port=input("输入端口号")
if host is None or port is None:
HOST = ‘127.0.0.1‘
PORT = 50007 # The same port as used by the server
else:
HOST=host
PORT=int(port)
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = input(‘> ‘)
if not data:
break
tcpCliSock.send(data.encode())
data = tcpCliSock.recv(BUFSIZE).decode()
if not data:
break
print(data)
tcpCliSock.close()
5)实现Python库参考文档中关于socket模块中的TCP客户端/服务器程序示例,并使其能够正常工作。令其能够识别以下命令:
date 服务器将返回其当前日期/时间戳,即time.ctime()
os 获取操作系统详细
ls 列出当前目录文件清单(提示:os.listdir()列出一个目录,os.curdir是当前目录)
标签:可靠 input 清单 connect 独立 数据传输 数据报 编程 端口
原文地址:http://www.cnblogs.com/shibei/p/6954060.html