Я разрабатываю надстройку firefox, которая использует серверный сокет, и я обнаружил, что могу открывать сокеты сервера с тем же адресом: порт, что очень странно. Я проверил с netstat, и я был в шоке.Firefox sdk addon: Очень странно, я могу открыть 2 серверных сокета по одному адресу: port
Поведение этой вещи состоит в том, что первый открытый серверный сокет принимает все соединения, а затем, когда он закрыт, второй начинает принимать новые соединения.
Более интересно то, что если я открою сокет сервера с java, то я не могу открыть другой серверный сокет с аддоном Firefox. Таким образом, для этой проблемы должны быть некоторые флаги, но я не могу найти что-либо в API-интерфейсе sdk, чтобы избежать этой проблемы.
Я делаю тестирование под Windows 7.
Я хотел бы, чтобы обнаружить, что серверный сокет уже открыт, мгновенно. Я не хочу открывать клиентский сокет, чтобы проверить это. Есть идеи?
Вот как я открываю сокет, не очень сложно ...
try
{
serverSocket = Cc["@mozilla.org/network/server-socket;1"].createInstance(Ci.nsIServerSocket);
serverSocket.init(listenPort, true, 100);
serverSocket.asyncListen(listener);
}
catch(error)
{
console.log(error);