Prepare NEWS file for next release
[libmodbus.git] / docs / modbus_set_socket.md
blobcdf811b5bff0931cf11b18cae598fb29697b781a
1 # modbus_set_socket
3 ## Name
5 modbus_set_socket - set socket of the context
7 ## Synopsis
9 ```c
10 int modbus_set_socket(modbus_t *ctx, int s);
11 ```
13 ## Description
15 The *modbus_set_socket()* function shall set the socket or file descriptor in
16 the libmodbus context. This function is useful for managing multiple client
17 connections to the same server.
19 ## Return value
21 The function shall return 0 if successful. Otherwise it shall return -1 and set errno.
23 ## Example
25 ```c
26 ctx = modbus_new_tcp("127.0.0.1", 1502);
27 server_socket = modbus_tcp_listen(ctx, NB_CONNECTION);
29 FD_ZERO(&rdset);
30 FD_SET(server_socket, &rdset);
32 /* .... */
34 if (FD_ISSET(master_socket, &rdset)) {
35     modbus_set_socket(ctx, master_socket);
36     rc = modbus_receive(ctx, query);
37     if (rc != -1) {
38         modbus_reply(ctx, query, rc, mb_mapping);
39     }
41 ```
43 ## See also
45 - [modbus_get_socket](modbus_get_socket.md)