Home > Article > Web Front-end > How to Fix 'Error: listen EADDRINUSE' When Using XMLHttpRequest in NodeJS?
When encountering the perplexing "Error: listen EADDRINUSE" while attempting to establish a server using XMLHttpRequest in NodeJS on port 80, it's important to understand the underlying reasons behind this issue.
NodeJS, unlike web browsers, encounters this issue because it operates within a single process, handling both server responsibilities and network requests. As a result, conflicting port bindings can arise when both a server and XMLHttpRequest try to utilize the same port simultaneously.
The provided server setup in the question demonstrates binding to port 80 and handling incoming connection requests. Meanwhile, the XMLHttpRequest initiates a network request to retrieve content from a remote server. However, the absence of an explicit port specification for the XMLHttpRequest request assumes it will use port 80.
To resolve this conflict, the recommended solution is to terminate all running NodeJS instances using the "killall -9 node" command. This drastic approach may not be ideal for production environments, so a more selective approach is to use the "ps ax" command to identify running NodeJS processes and terminate specific instances associated with the conflicting port binding.
The above is the detailed content of How to Fix 'Error: listen EADDRINUSE' When Using XMLHttpRequest in NodeJS?. For more information, please follow other related articles on the PHP Chinese website!