---
name: "onStreamPacketReceive"
mode: "kit"
versionRequirements:
  - { name: "P2PKit", version: "2.0.2" }
platform:
  - "iOS"
  - "Android"
async: true
title: "ty.p2p.onStreamPacketReceive - Packet received event"
---

## onStreamPacketReceive

> [VERSION] P2PKit >= 2.0.2

> [PLATFORM] iOS, Android

> ⚡ **Supports Promise** — Returns a Promise when success / fail / complete callbacks are omitted.

### Description

download packet received event

### Parameters

`(listener: Function)`

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `listener` | `(params: StreamDownloadPacketReceivedEvent) => void` | Yes | - | Event listener callback function |

### Referenced Types

##### `interface` StreamDownloadPacketReceivedEvent

| Property | Type | Required | Since | Description |
| --- | --- | --- | --- | --- |
| `deviceId` | `string` | Yes | `2.0.2` | Device ID |
| `totalFiles` | `number` | Yes | `2.0.2` | Total number of files |
| `fileName` | `string` | Yes | `2.0.2` | Filename |
| `fileIndex` | `number` | Yes | `2.0.2` | File index (dirty data) |
| `fileLength` | `number` | Yes | `2.0.2` | File length |
| `packetData` | `string` | Yes | `2.0.2` | Packet data |
| `packetLength` | `number` | Yes | `2.0.2` | Packet data length |
| `fileSerialNumber` | `number` | Yes | `2.0.2` | File serial number |
| `packetIndex` | `number` | Yes | `2.0.2` | Packet index |
| `packetType` | `number` | Yes | `2.0.2` | Packet header/tail: 0b00XY; Y=packet header, X=packet tail |


### Examples

```tsx
ty.p2p.onStreamPacketReceive(e => {
  console.log(e);
});
```
