Hi there,
i have a strange Problem with openmv cam with wifishield.
i want to have two services running and listen for connections on there ports.
one is modbustcp - on port 502 and one is a webserver on port 8080
always when i connect from modbus (port 502), the webserver (port 8080) on get the data.
to clearify i have written a short example to try to highlight the problem
Here i open two Ports, on 8080 and 9090. When i point my Browser to 8080 the data is received in “webserverconn”, but also when i point my browser to 9090 its received in “webserverconn”, but it should be in “webserverconn2”
Does have anybody an idea why this is like this?
Examplecode
import sensor
import utime
import network
import socket
import gc
import uos
import pyb
import json
SSID = "asdf" # Network SSID
KEY = "asdf" # Network key
HOST = "" # Use first available interface
PORT = 8080 # Arbitrary non-privileged port
MBPORT = 502
# Init wlan module and connect to network
print("Trying to connect... (may take a while)...")
wlan = network.WINC()
print("FWVersionWLAN:" + str(wlan.fw_version()))
print("EmpfangWLAN:" + str(wlan.rssi()))
wlan.connect(SSID, key=KEY, security=wlan.WPA_PSK)
# We should have a valid IP now via DHCP
print(wlan.ifconfig())
# Create server socket
webservsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
webservsocket.bind([HOST, PORT])
webservsocket.listen(5)
webservsocket.setblocking(False)
webservsocket2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
webservsocket2.bind([HOST, 9090])
webservsocket2.listen(5)
webservsocket2.setblocking(False)
while True:
try:
webservconn, webservaddr = webservsocket.accept()
webservconn.settimeout(3.0)
webservrequest = webservconn.recv(2048).decode('utf-8')
if len(webservrequest) > 0:
print(webservsocket.getsockname())
print("Webserverreq")
print(webservconn)
print(str(webservaddr))
print(len(webservrequest))
webservconn2, webservaddr2 = webservsocket2.accept()
webservconn2.settimeout(3.0)
webservrequest2 = webservconn2.recv(2048).decode('utf-8')
if len(webservrequest2) > 0:
print(webservsocket2.getsockname())
print("Webserverreq 2")
print(webservconn2)
print(str(webservaddr2))
print(len(webservrequest2))
except:
None