Comments (6)
Could you provide a wireshark log for this?
from picotcp.
Duplicates bug #15
from picotcp.
This is not a duplicate of #15.
This refers the ep->state in the mbed socket interface, which is never changed even if the FIN comes.
The garbage collector from within the stack has nothing to do with this.
from picotcp.
I made a short TCP connection test: while(1){} after picotcp (TCP Server) accept the client.
Results: all received data (from Linux client) are stored in picotcp (TCP Server) input buffer => FIN sends from Linux client to picotcp => in picotcp side FIN aren't received => ep->state remain in SOCK_CONNECTED state
from picotcp.
After 4WHS closing, picotcp buffer isn't empty => TCP protocol sends PICO_SOCK_EV_RD to user and in wakeup() function (stack_endpoint.cpp file) socket state is changed to SOCK_CONNECTED:
if ((ev & PICO_SOCK_EV_CONN) || (ev & PICO_SOCK_EV_RD)) {
ep->connected = 1;
ep->state = SOCK_CONNECTED;
}
Proposed solution: remove PICO_SOCK_EV_RD check:
if (ev & PICO_SOCK_EV_CONN)) {
ep->connected = 1;
ep->state = SOCK_CONNECTED;
}
from picotcp.
Issue fixed in revision 60.
from picotcp.
Related Issues (20)
- pico_socket_read() with timeout HOT 1
- pico_ipv4_route_add() is not correctly adding the gateway HOT 1
- Memory leak in SNTP sync HOT 3
- RAW_SOCKET pendant? HOT 2
- TFTP retries not working
- README.md: GPL LICENSE problem HOT 2
- ARP frames are never set unreachable HOT 5
- tcpecho refuses connection ... HOT 1
- tcpopt_len_check will stop the stack when option length is 0 HOT 1
- Question: How many times pico_stack_tick() should be called HOT 3
- No 'extern "C"' support in headers HOT 2
- Best way to report security issues HOT 1
- Use picotcp without sockets? HOT 2
- security contact
- connect tcpserver and tcpclient via taps interface
- send from tcpclient and receive in tcpserver
- picoapp icmp6 ping failed
- Reassigned a value before the old one has been used.
- Checking if unsigned variable is less than zero.
- Weak references not working correctly under Windows with MinGW HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from picotcp.