Python socket 粘包问题 报头

折月煮酒 提交于 2019-11-26 10:14:00

一 socket(套接字)

1.什么是socket:Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。它把复杂的TCP/IP协议族隐藏在Socket接口后面,了socket以后,无需自己编写代码实现三次握手,四次挥手,ARP请求,打包数据等等,socket已经封装好了,只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。

2.基本语法:

 

#客户端:
 #1.创建socket对象 
     client = socket.socket()
 #2.链接服务器    
     client.connect((ip,port))
 #3.收发数据   通常需要循环
        #send 发    只能发二进制数据
        client.send(字节数据)
        #recv 收    收多少字节数
         data = client.recv(字节大小)
  #4.断开链接  
        client.close()

# 服务端
 #1.创建socket对象
   server = socket.socket()
 #2.绑定一个固定的ip和端口  
   server.bind((ip,port))    #ip必须是本机ip    端口8000以后的,不要使用常见的端口   web:80 / 8080  mysql 3306   ssh:22  ftp:21
 #3.开始监听客户端的到来   
    server.listen(数字)
 #4.接收客户端的链接请求   
    conn,addr =  server.accept()    # 阻塞直到客户链接到来  没有新连接则不可能执行该函数
 #5.收发数据   需要循环
    #send 发    只能发二进制数据
        client.send(字节数据)
    #recv 收    收多少字节数
         data = client.recv(字节大小)
   
View Code

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!