计算机网络 套接字编程:生成网络应用

本文作于2022.1.25,供本人加深记忆

我们将使用下列简单的客户-服务器应用程序来演示对于UDP和TCP的套接字编程:
①客户从其键盘读取一行字符(数据)并将该数据向服务器发送。
②服务器接收该数据(sentence)并将这些字符转换为大写。
③服务器将修改的数据(modified sentence)发送给客户。
④客户接收修改的数据并在其显示器(monitor)上将该行显示出来。

一、UDP套接字编程

图2-26着重显示了客户和服务器的主要与套接字相关的活动,两者通过UDP运输服务进行通信。 客户程序将被称为UDPClient. py,服务器程序被称为UDPServer. pyo为了强调关键问题,我们有意提供最少的代码。“好代码”无疑将具有更多辅助性的代码行,特别是用于处理岀现差错的情况。对于本应用程序,我们任意选择了114514作为服务器的端口号。

1.UDPCIient.py

from socket import *
serverName = "hostname"
serverPort = 114514
clientsocket = socket(AF_INET, SOCK_DGRAM) 
message = raw_input("Input lowercase sentence:") 
clientSocket.sendto(message.encode(),(serverName,serverPort)) 
modifiedMessage, serverAddress = clientsocket.recvfrom(2048) 
print (modifiedMessage.decode())
clientSocket.close ()

 UDPCIient.py完整代码 

逐行分析

from socket import *

该socket模块形成了在Python中所有网络通信的基础。包括了这行,我们将能够在程序中创建套接字。

serverName =  ‘hostname’

在这里我们可以提供包含服务器IP地址或者主机名的字符串,如果是主机名的话将自动执行DNS lookup从而获得IP地址

serverPort = 114514

将整数变量serverPort,即服务器端口设置为114514

clientsocket = socket(AF_INET, SOCK_DGRAM)  

该行创建了客户的套接字,称为clientSocket第一个参数指示了地址簇;第二个参数指示了该套接字是SOCK.DGRAM类型(数据报datagram)的,这意味着它是一个UDP套接字

message = raw_input('Input l
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值