Fork me on GitHub

随笔 - 997  文章 - 5  评论 - 181  阅读 - 300万 

壹:

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   虚生  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2020-01-31 Celery的常用知识
2020-01-31 Redis 一些基本的概念和基础
2020-01-31 mac下安装并启动RabbitMQ
2018-01-31 bss段和data段的区别
点击右上角即可分享
微信分享提示