码迷,mamicode.com
首页 > 其他好文 > 详细

核心编程练习(2)

时间:2017-06-07 00:46:19      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:可靠   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是当前目录)

核心编程练习(2)

标签:可靠   input   清单   connect   独立   数据传输   数据报   编程   端口   

原文地址:http://www.cnblogs.com/shibei/p/6954060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!