📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年 12 月 – III |问题 44(1)

📅  最后修改于: 2023-12-03 14:54:49.031000             🧑  作者: Mango

UGC NET CS 2015 年 12 月 – III | 问题 44

这是一道出现在 UGC NET CS 2015 年 12 月 – III 考试中的第 44 道问题。这道问题主要考察了程序员在网络通信领域的能力。

问题描述

下面哪个选项在客户端和服务器之间提供了一个可靠的、面向连接的服务?

a) UDP b) FTP c) SMTP d) TCP

答案分析

在这道问题中,我们需要选择一个可以提供可靠的、面向连接的服务的选项。我们需要在 UDP, FTP, SMTP 和 TCP 中进行选择。

  • UDP 是一种无连接服务,不能提供可靠的面向连接服务。
  • FTP 是文件传输协议,是基于 TCP 协议的,但它并不能提供面向连接的服务。
  • SMTP 是电子邮件传输协议,也是基于 TCP 协议的,但它同样也不能提供面向连接的服务。

因此,正确答案是下面的选项:

d) TCP

TCP 提供了可靠的、面向连接的服务。它使用三次握手建立连接,保证了数据的可靠传输。

答案

正确答案为:

d) TCP

代码片段
# TCP 服务端代码示例

import socket

host = '127.0.0.1'
port = 8080

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)

conn, addr = s.accept()
print('连接地址:', addr)

while True:
    data = conn.recv(1024).decode()
    if not data:
        break
    print('接收到的数据:', data)

    # 处理数据

conn.close()

# TCP 客户端代码示例

import socket

host = '127.0.0.1'
port = 8080

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))

message = 'Hello, server!'
s.sendall(message.encode())

s.close()

上面的代码片段是以 Python 语言为例的 TCP 服务端和客户端示例代码。服务端使用 socket 模块创建一个 TCP 服务器,监听在本地的 8080 端口。客户端连接到这个服务器并向其发送一个消息。服务端接收这个消息并进行处理。在实现网络通信时,我们经常使用面向连接的协议 TCP 来保证数据的可靠传输。