SE_BMMF/09kapitel/096 Server.ipynb

103 lines
2.2 KiB
Plaintext
Raw Normal View History

2022-05-27 14:56:12 +02:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
},
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Software Entwicklung \n",
"\n",
"## Kapitel 9: IO\n",
"\n",
"### 9.5 Sockets"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
},
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"#### 9.5.3 Beispiel für einen Server"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"import socket\n",
"\n",
"with socket.socket() as server: # Generieren eines Sockets\n",
" host = socket.gethostname() # Die eigene IP-Nummer\n",
" port = 12345 # Festlegen des Ports\n",
" server.bind((host, port)) # Bind\n",
" server.listen() # Listen (blockiert nicht)\n",
" print(\"Ich lausche...\")\n",
"\n",
" for contact in range(0, 10):\n",
" connection, addr = server.accept() # blockiert\n",
" with connection:\n",
" print('Verbindung von ', addr)\n",
" msg = f'Danke für das Vorbeischauen, #{contact+1}!\\n'\n",
" connection.send(msg.encode('utf-8')) # Senden \n",
"\n",
" print(\"Das wars!\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
},
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Textnachrichten, die über ein Socket versendet werden sollen, müssen in Bytes\n",
"umgewandelt werden.\n"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.9"
}
},
"nbformat": 4,
"nbformat_minor": 1
}