zoukankan      html  css  js  c++  java
  • python socket

    TCP连接

    简易的聊天软件

     1 import socket
     2 
     3 sk = socket.socket()       # 创建socket对象
     4 sk.bind(("127.0.0.1",8080))# 绑定ip端口
     5 sk.listen()                # 监听信息
     6 conn,addr = sk.accept() # 监听到连接信息和地址
     7 print("连接成功!连接者:",addr)
     8 while True:
     9     ret = conn.recv(1024).decode("utf8")  # 接收信息
    10     print(ret)
    11     if ret == "bye":
    12         break
    13     info = input(">>>")
    14     conn.send(bytes(info,encoding="utf8"))#发送信息
    server
     1 import socket
     2 
     3 sk = socket.socket()
     4 sk.connect(("127.0.0.1",8080))
     5 while True:
     6     info = input(">>>")
     7     sk.send(bytes(info,encoding="utf8"))
     8     ret = sk.recv(1024).decode("utf8")
     9     print(ret)
    10     if ret == "bye":
    11         sk.send(b"bye")
    12         break
    client

    TCP长连接

    一次只允许一个程序连接,第二个程序只能等待第一个程序断开连接后才能连接


    UDP连接

     1 import socket
     2 
     3 sk = socket.socket(type=socket.SOCK_DGRAM)#创建UDP socket 对象
     4 sk.bind(("127.0.0.1",8080))# 绑定IP端口
     5 msg,addr = sk.recvfrom(1024)# 接收信息
     6 # msg 信息
     7 # addr 地址
     8 print(msg)
     9 sk.sendto(b"hello",addr) # 发送信息,需要带地址
    10 sk.close()# 关闭
    server
    1 import socket
    2 sk = socket.socket(type=socket.SOCK_DGRAM) #创建UDP socket 对象
    3 ip_prot = ("127.0.0.1",8080) # 设置要发送的地址
    4 sk.sendto(b"hi",ip_prot) # 发送消息
    5 msg,addr = sk.recvfrom(1024) # 接收消息
    6 print(msg)
    client
  • 相关阅读:
    Node 修改默认镜像源
    Mac下apache虚拟主机配置
    Grep命令出现 Binary file (standard input) matches
    idea取出方法参数提示
    Java8 Optional用法
    Codeforces Round #638 (Div. 2)
    Codeforces Round #637 (Div. 2)
    Codeforces Round #636 (Div. 3)
    Tree
    Educational Codeforces Round 85
  • 原文地址:https://www.cnblogs.com/changjiangwei/p/11369137.html
Copyright © 2011-2022 走看看