blob: 05107a0d2b5234b6c4d2239203761e0cd43ffd93 [file] [log] [blame]
---
title: Ephemeral TCP Port Limits
---
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
By default, Windows ephemeral ports are within the range 1024-4999, inclusive. You can increase the range.
<a id="socket_comm__section_F535D5D99206498DBBD5A6CC3230F25B"></a>
If you are repeatedly receiving the following exception:
``` pre
java.net.BindException: Address already in use: connect
```
and if your system is experiencing a high degree of network activity, such as numerous short-lived client connections, this could be related to a limit on the number of ephemeral TCP ports. While this issue could occur with other operating systems, typically, it is seen only with Windows due to a low default limit.
Perform this procedure to increase the limit:
1. Open the Windows Registry Editor.
2. Navigate to the following key:
``` pre
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter
```
3. From the Edit menu, click New, and then add the following registry entry:
``` pre
Value Name: MaxUserPort
Value Type: DWORD
Value data: 36863
```
4. Exit the Registry Editor, and then restart the computer.
This affects all versions of the Windows operating system.
**Note for UDP on Unix Systems**
Unix systems have a default maximum socket buffer size for receiving UDP multicast and unicast
transmissions that is lower than the default settings for `mcast-recv-buffer-size` and
`udp-recv-buffer-size`. To achieve high-volume multicast messaging, you should increase the maximum
Unix buffer size to at least one megabyte.