计算机网络UDP套接字编程


1、UDP的服务器编程步骤:
①.创建一个socket,用函数socket()
②.绑定IP地址、端口等信息到socket上,用函数bind()
③.循环接收数据,用函数recvfrom()
④.关闭网络连接
2、UDP的客户端编程步骤:
①.创建一个socket,用函数socket()
②.绑定IP地址、端口等信息到socket上,用函数bind()
③.设置对方的IP地址和端口等属性
④.发送数据,用函数sendto()
⑤.关闭网络连接

代码:
客户端:

from socket import *

HOST = '119.45.115.128'
PORT = 3555
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpClientSocket = socket(AF_INET, SOCK_DGRAM)
while True:
    try:
        data = input('>')
        print('send the data: ' + data)
        msg = data.encode('utf-8')

        # 发送数据:
        udpClientSocket.sendto(msg, ADDR)
        # 接收数据:
        print('receive the reply: ' + udpClientSocket.recv(BUFSIZ).decode('utf-8'))
    except Exception as e:
        print(e)

udpClientSocket.close()

服务端:

from socket import *
from time import ctime

HOST = ''
PORT = 3555
BUFSIZ = 1024
ADDR = (HOST, PORT)

udpServerSocket = socket(AF_INET, SOCK_DGRAM)
udpServerSocket.bind(ADDR)

while True:
    try:
        data, addr = udpServerSocket.recvfrom(BUFSIZ)
        print('来自主机 %s,端口: %s.' % addr)
        print(data.decode('utf-8'))
        reply = 'Hello, this is udpserver!'
        udpServerSocket.sendto(reply.encode('utf-8'), addr)
    except Exception as e:
        print(e)

udpServerSocket.close()

文章作者: 陈细利
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 陈细利 !
评论
 上一篇
[每日算法]台阶问题 [每日算法]台阶问题
题目描述有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少11级),问到达第NN级台阶有多少种不同方式。 输入格式两个正整数N,K。 输出格式一个正整数,为不同方式数,由于答案可能很大,你需要输出ans mod 100003后的
2021-03-06
下一篇 
计算机网络TCP套接字编程 计算机网络TCP套接字编程
TCP是一个面向连接的协议,意味着客户和服务器开始发送数据之前,它们先要握手和创建一个TCP连接。TCP连接的一端与客户套接字相联系,另一端与服务器套接字相联系。当创建该TCP连接时,我们将其与客户套接字地址(IP地址和端口号)和服务器套接
  目录