Fork me on GitHub

壹:

socket通信是常用的一种通信方式,熟练掌握,快速的入戏,是一个程序员必备的素质。

贰:

注意:udp和tcp的套接字:

服务端代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import socket

HOST = '0.0.0.0'
PORT = 7000

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST, PORT))

print('server start at: %s:%s' % (HOST, PORT))
print('wait for connection...')

while True:
    indata, addr = s.recvfrom(1024)
    print('recvfrom ' + str(addr) + ': ' + indata.decode())

    outdata = 'echo ' + indata.decode()
    s.sendto(outdata.encode(), addr)
s.close()

客户端代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import socket

HOST = '0.0.0.0'
PORT = 7000
server_addr = (HOST, PORT)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    outdata = input('please input message: ')
    print('sendto ' + str(server_addr) + ': ' + outdata)
    s.sendto(outdata.encode(), server_addr)
    
    indata, addr = s.recvfrom(1024)
    print('recvfrom ' + str(addr) + ': ' + indata.decode())

 

叁:

注意:

client的IP地址填写的是阿里云的外网地址。

server端的地址填写的是服务器上ifconfig的地址。两个不同的。

端口一定要在阿里云上面打开。

 

posted on 2023-01-31 11:26  虚生  阅读(161)  评论(0)    收藏  举报