首页 > 编程语言 > 详细

python网络编程之socket

时间:2018-01-28 17:50:46      阅读:239      评论:0      收藏:0      [点我收藏+]

  socket

  应用层和tcp,ucp协议之间的一个接口,用户只需操作接口,复杂的数据组织工作由其内部自行完成。

  TCP协议的socket(套接字):

    服务端

import socket
sk = socket.socket()  # 创建一个套接字对象
sk.bind((127.0.0.1, 8080))  # 绑定本地IP地址和端口
sk.listen()     # 监听

conn, address = sk.accept()   # 创建连接


while True:
    ret = conn.recv(1024)   # 接收数据  需要指定接收字节数
    if ret == bbye:
        conn.send(ret)
        break
    print(ret.decode(utf-8))
    info = input(>>>).encode(utf-8)
    conn.send(info)   # 发送数据  必须是bytes类型
conn.close()   # 关闭连接
sk.close()   # 关闭套接字

    客户端

import socket
sk = socket.socket()  # 创建套接字
sk.connect((127.0.0.1, 8080))  # 连接服务端

while True:
    info = input(>>>).encode(utf-8)
    sk.send(info)   # 发送数据
    ret = sk.recv(1024)  # 接收数据
    if ret == bbye:
        break
    print(ret.decode(utf-8))

sk.close()  # 关闭套接字

 

  UDP协议的scoket(套接字):

    服务端

import socket
sk = socket.socket(type=socket.SOCK_DGRAM)  # 创建ucp套接字对象
sk.bind((127.0.0.1, 8080))  # 绑定IP和端口

msg, address = sk.recvfrom(1024)  # 等待接收数据  ucp必须先接收数据
print(msg.decode(utf-8))
sk.sendto(bhello, address)  # 发送数据  要携带发送数据的地址

sk.close()

    客户端

import socket
sk = socket.socket(type=socket.SOCK_DGRAM)  # 创建ucp套接字对象
ip_port = (127.0.0.1, 8080)  # 指定服务端IP和端口

sk.sendto(bhi, ip_port)  # 发送数据到指定服务端
msg, address = sk.recvfrom(1024)  # 接收返回的数据
print(msg.decode(utf-8))


sk.close()

 

 

  

python网络编程之socket

原文:https://www.cnblogs.com/zxc-Weblog/p/8360434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!