码迷,mamicode.com
首页 > 编程语言 > 详细

python网络编程之socket

时间:2018-01-28 18:12:27      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:res   客户   tcp协议   size   utf-8   服务   import   send   pre   

  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

标签:res   客户   tcp协议   size   utf-8   服务   import   send   pre   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!