| --- |
| title: Socket Communication |
| --- |
| |
| <!-- |
| 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. |
| --> |
| |
| <%=vars.product_name%> processes communicate using TCP/IP and UDP unicast and multicast protocols. In all cases, communication uses sockets that you can tune to optimize performance. |
| |
| The adjustments you make to tune your <%=vars.product_name%> communication may run up against operating system limits. If this happens, check with your system administrator about adjusting the operating system settings. |
| |
| All of the settings discussed here are listed as `gemfire.properties` and `cache.xml` settings. They can also be configured through the API and some can be configured at the command line. Before you begin, you should understand <%=vars.product_name%> [Basic Configuration and Programming](../../basic_config/book_intro.html). |
| |
| - **[Setting Socket Buffer Sizes](socket_communication_setting_socket_buffer_sizes.html)** |
| |
| When you determine buffer size settings, you try to strike a balance between communication needs and other processing. |
| |
| - **[Ephemeral TCP Port Limits](socket_communication_ephemeral_tcp_port_limits.html)** |
| |
| By default, Windows’ ephemeral ports are within the range 1024-4999, inclusive.You can increase the range. |
| |
| - **[Making Sure You Have Enough Sockets](socket_communication_have_enough_sockets.html)** |
| |
| The number of sockets available to your applications is governed by operating system limits. |
| |
| - **[TCP/IP KeepAlive Configuration](socket_tcp_keepalive.html)** |
| |
| <%=vars.product_name%> supports TCP KeepAlive to prevent socket connections from being timed out. |
| |
| - **[TCP/IP Peer-to-Peer Handshake Timeouts](socket_communication_tcpip_p2p_handshake_timeouts.html)** |
| |
| You can alleviate connection handshake timeouts for TCP/IP connections by increasing the connection handshake timeout interval with the system property p2p.handshakeTimeoutMs. |
| |
| |