mirror of
				https://github.com/espressif/ESP8266_RTOS_SDK.git
				synced 2025-10-31 18:57:14 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # This example code is in the Public Domain (or CC0 licensed, at your option.)
 | |
| 
 | |
| # Unless required by applicable law or agreed to in writing, this
 | |
| # software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 | |
| # CONDITIONS OF ANY KIND, either express or implied.
 | |
| 
 | |
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| import socket
 | |
| import sys
 | |
| 
 | |
| # -----------  Config  ---------- 
 | |
| IP_VERSION = 'IPv4'
 | |
| PORT = 3333;
 | |
| # -------------------------------
 | |
| 
 | |
| if IP_VERSION == 'IPv4':
 | |
|     family_addr = socket.AF_INET
 | |
| elif IP_VERSION == 'IPv6':
 | |
|     family_addr = socket.AF_INET6
 | |
| else:
 | |
|     print('IP_VERSION must be IPv4 or IPv6')
 | |
|     sys.exit(1)
 | |
| 
 | |
| 
 | |
| try:
 | |
|     sock = socket.socket(family_addr, socket.SOCK_STREAM)
 | |
| except socket.error as msg:
 | |
|     print('Error: ' + str(msg[0]) + ': ' + msg[1])
 | |
|     sys.exit(1)
 | |
| 
 | |
| print('Socket created')
 | |
|     
 | |
| try:
 | |
|     sock.bind(('', PORT))
 | |
|     print('Socket binded')
 | |
|     sock.listen(1)
 | |
|     print('Socket listening')
 | |
|     conn, addr = sock.accept()
 | |
|     print('Connected by', addr)
 | |
| except socket.error as msg:
 | |
|     print('Error: ' + str(msg[0]) + ': ' + msg[1])
 | |
|     sock.close()
 | |
|     sys.exit(1)
 | |
| 
 | |
| while True:
 | |
|     data = conn.recv(128)
 | |
|     if not data: break
 | |
|     data = data.decode()
 | |
|     print('Received data: ' + data)
 | |
|     reply = 'OK: ' + data
 | |
|     conn.send(reply.encode())
 | |
| conn.close()
 | 
