一、黏包现象(大文件一般用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端发送一个空消息(和操作系统有关,有时会报错)