# Свой python скрипт с NAPI

## Код:

<pre class="language-python"><code class="lang-python"><strong>SERVER_PORT = 64200 # Константа указывающая порт для работы сервера вашего NAPI
</strong><strong>BUFFER_SIZE = 1024 #Константа для буфера сервера
</strong>BUFFER_SIZE = FOV * FOV * 3 # Высчитываем буфер для отправки изображения на клиент.
<strong>server.send('Hello!') # Отправляем информация в другую программу
</strong><strong>data = server.recv() # Получаем информацию от скрипта
</strong><strong>server.close() # Закрываем сервер
</strong></code></pre>

{% hint style="info" %}
Используйте этот пример для соединения вашего скрипта python со скриптом NAPI.
{% endhint %}

{% hint style="warning" %}
Рекомендуем устанавливать BUFFER\_SIZE равному кол-во данных для передачи, чтобы передать всё за один "пакет" и получить максимальную скорость.
{% endhint %}

### Код для клиентской части python кода.

```python
import socket

class Client:
    def __init__(self, host='127.0.0.1', port=65432):
        self.host = host
        self.port = port
        self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.s.connect((self.host, self.port))

    def send(self, data):
        self.s.sendall(data.encode('utf-8'))

    def recv(self, buffer_size=1024):
        data = self.s.recv(buffer_size)
        return data.decode('utf-8')

    def close(self):
        self.s.close()

if __name__ == "__main__":
    c = Client()
    c.send('hello')
    data = c.recv()
    print(f"Получено от сервера: {data}")
    c.close()
```

{% hint style="info" %}
Вы также можете отредактировать клиентскую часть, но изменения на серверную часть NAPI, увы внести нельзя. Но вы можете попросить об этом - [@neuraluser](https://t.me/neuraluser).
{% endhint %}
