博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络变编程 Socket
阅读量:4965 次
发布时间:2019-06-12

本文共 1363 字,大约阅读时间需要 4 分钟。

# ========== ======= socket

#Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
#Socket就是一个模块,可以通过调用模块中已实现的方法建立两个进程中的通信和连节。
# 基于TCP协议的socket
# tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端# import socket# sk = socket.socket()# sk.bind(("127.0.0.1",8540)) #把地址绑定到套接字
# sk.listen() #监听链接
# conn,addr = sk.accept() #接受客户端链接 #三次握手
# ret = conn.recv(1024) #接受客户端信息
# print(ret) # 打印客户端信息
# conn.send(b"hi") #向客户端发送信息
# conn.close() #关闭客户端套接字
# sk.close() #关闭服务器套接字(可选)
#client 端
# import socket
# sk = socket.socket() # 创建客户套接字
# sk.connect(("127.0.0.1",8540)) #尝试连接服务器
# sk.send(b"hello!") #发送信息
# ret = sk.recv(1024) #对话 (发送/接收)
# print(ret)
# sk.close() #关闭客户套接字
# 加一条socket配置,重用ip和端口
# import socket
# from socket import SOL_SOCKET,SO_REUSEADDR
# sk = socket.socket()
# sk.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #就是它,在bind前加
#基于UDP协议的socket
#udp是无链接的,启动服务之后可以直接接受消息,不需要提前建立链接
# import socket
# udp_sk = socket.socket(type=socket.SOCK_DGRAM)# 创建一个服务器的套接字
# udp_sk.bind(("127.0.0.1",9000)) #绑定服务器套接字
# msg,addr = udp_sk.recvfrom(1024)
# print(msg)
# udp_sk.sendto(b"hi",addr) #对话(接受与发送)
# udp_sk.close() #关闭服务器套接字
# #client 端
# import socket
# udp_sk = socket.socket(type=socket.SOCK_DGRAM)
# udp_sk.sendto(b"hello",("127.0.0.1",9000)) #发送信息
# back_msg,addr = udp_sk.recvfrom(1024) #接受信息
# print(back_msg.decode("utf-8"),addr)
#udp_sk.close()

转载于:https://www.cnblogs.com/xuerh/p/8610654.html

你可能感兴趣的文章
宏定义
查看>>
ubuntu12.04 串口登录系统配置
查看>>
笔记:git基本操作
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
windows平台上编译mongdb-cxx-driver
查看>>
optionMenu-普通菜单使用
查看>>
MVC3分页传2参
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
appium(13)- server config
查看>>
IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR...
查看>>
管理信息系统 第三部分 作业
查看>>
[Leetcode Week13]Search a 2D Matrix
查看>>
查看端口占用cmd命令
查看>>
2019.01.17王苛震作业
查看>>
清除浮动
查看>>
PayPal(贝宝)支付接口、文档、IPN
查看>>
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
本地存储
查看>>