Add tcp keep alive

This commit was merged in pull request #6.
This commit is contained in:
2023-02-24 18:22:39 +01:00
parent 07ad6f4b24
commit a5f1936632
2 changed files with 81 additions and 20 deletions

View File

@@ -2,12 +2,14 @@ package modbustcpclient
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestReadOneRegister(t *testing.T) {
c, err := New("IAM_248000012514.solver.nu:502", 1)
func TestReadOneRegisterKeepAlive(t *testing.T) {
c, err := New("IAM_248000012514.solver.nu:502", 1, 100*time.Millisecond)
t.Log("Connect")
assert.NoError(t, err)
for n := 0; n < 5; n++ {
res, err := c.ReadRegisters(12401, 2)
@@ -30,5 +32,37 @@ func TestReadOneRegister(t *testing.T) {
assert.Len(t, res, 1)
t.Log(res)
}
time.Sleep(1 * time.Second)
}
func TestReadOneRegisterShortKeepAlive(t *testing.T) {
c, err := New("IAM_248000012514.solver.nu:502", 1, 10*time.Nanosecond)
t.Log("Connect")
assert.NoError(t, err)
for n := 0; n < 5; n++ {
res, err := c.ReadRegisters(12401, 2)
assert.NoError(t, err)
assert.Len(t, res, 2)
t.Log(res)
time.Sleep(100 * time.Millisecond)
res, err = c.ReadRegisters(12102, 2)
assert.NoError(t, err)
assert.Len(t, res, 2)
t.Log(res)
time.Sleep(100 * time.Millisecond)
res, err = c.ReadRegisters(12544, 1)
assert.NoError(t, err)
assert.Len(t, res, 1)
t.Log(float32(res[0]) / 10)
time.Sleep(100 * time.Millisecond)
res, err = c.ReadRegisters(12136, 1)
assert.NoError(t, err)
assert.Len(t, res, 1)
t.Log(res)
time.Sleep(100 * time.Millisecond)
}
time.Sleep(1 * time.Second)
}