Fix tcp deadlines.

This commit is contained in:
2020-10-13 17:52:12 +02:00
parent de5cb6d98f
commit 3a6f5c19c8
2 changed files with 19 additions and 16 deletions

View File

@@ -41,6 +41,7 @@ func (m *Mbclient) ReadRegisters(first uint16, numRegs uint16) ([]uint16, error)
req[7] = 3 //FunctionCode req[7] = 3 //FunctionCode
binary.BigEndian.PutUint16(req[8:10], first-1) binary.BigEndian.PutUint16(req[8:10], first-1)
binary.BigEndian.PutUint16(req[10:12], numRegs) binary.BigEndian.PutUint16(req[10:12], numRegs)
m.conn.SetDeadline(time.Now().Add(10 * time.Second))
byteswritten, err := m.conn.Write(req) byteswritten, err := m.conn.Write(req)
if err != nil { if err != nil {
return nil, err return nil, err

View File

@@ -9,6 +9,7 @@ import (
func TestReadOneRegister(t *testing.T) { func TestReadOneRegister(t *testing.T) {
c, err := New("192.168.0.154:502", 1) c, err := New("192.168.0.154:502", 1)
assert.NoError(t, err) assert.NoError(t, err)
for n := 0; n < 5; n++ {
res, err := c.ReadRegisters(12401, 2) res, err := c.ReadRegisters(12401, 2)
assert.NoError(t, err) assert.NoError(t, err)
assert.Len(t, res, 2) assert.Len(t, res, 2)
@@ -28,5 +29,6 @@ func TestReadOneRegister(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
assert.Len(t, res, 1) assert.Len(t, res, 1)
t.Log(res) t.Log(res)
}
} }