网络编程- 黏包现象(五)

匿名 (未验证) 提交于 2019-12-02 23:26:52

一、黏包现象(大文件一般用TCP,UDP虽不黏包但不可靠、不宜发送大文件)

二、1、server端

#_*_coding:utf-8_*_from socket import *ip_port=('127.0.0.1',8080)tcp_socket_server=socket()tcp_socket_server.bind(ip_port)tcp_socket_server.listen(5)conn,addr=tcp_socket_server.accept()data1=conn.recv(2)data2=conn.recv(10)

#不知道客户端发送的数据长度

print('----->',data1.decode('utf-8'))print('----->',data2.decode('utf-8'))import timetime.sleep(1)data2=conn.recv(10)print('----->',data2.decode('utf-8'))conn.close()tcp_socket_server.close()client端
#_*_coding:utf-8_*_import timeimport socketBUFSIZE=1024ip_port=('127.0.0.1',8080)s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)res=s.connect_ex(ip_port)s.send('hello'.encode('utf-8'))time.sleep(1)s.send('egg'.encode('utf-8'))

>>>

>>>>>

如果server改成

client改成

server第一次接收完消息,第二次在等待接收阻塞,当client发送完消息并关闭会给server端发送一个空消息(和操作系统有关,有时会报错)

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