ฉันมีคำสั่ง socat ที่ทำงานได้ดี แต่เมื่อไม่มีการถ่ายโอนข้อมูลมันกำลังจะตายหลังจาก 5 นาทีและฉันไม่เข้าใจว่าทำไมเพราะฉันตั้งค่าให้ส่ง 100 keepalive ทุก 10 วินาทีหลังจาก 10 วินาทีแรก . จากสิ่งที่ฉันเข้าใจเกี่ยวกับหน้า man socat ที่ควรจะมีชีวิตอยู่เป็นเวลา 1000s คือ 16 นาที นอกจากนี้ถ้าฉันพยายามตั้ง keepcnt เป็น 200 ฉันจะได้รับ "setsockopt (7, 6, 6, {200}, 4): อาร์กิวเมนต์ไม่ถูกต้อง" แต่ไม่มีที่ไหนบนอินเทอร์เน็ตฉันจะหาค่าสูงสุดสำหรับอาร์กิวเมนต์นั้นได้อย่างไร ฉันต้องคิดถึงบางสิ่งที่ชัดเจนมากที่นี่ การทดลองเพิ่มเติมกับข้อโต้แย้งไม่เคยเปลี่ยนค่าการหมดเวลาของ 5mn การตั้งค่าที่ต่ำกว่าสำหรับ keepcnt และค่าที่สูงกว่าของ keepintvl นั้นเป็นที่ยอมรับ แต่ไม่มีผลกระทบที่มองเห็นได้
socat -d -d -d -v pty,link=/tmp/lp1 tcp:192.168.0.5:9100,reuseaddr,keepalive,keepidle=10,keepintvl=10,keepcnt=100
2017/05/31 08:53:01 socat [16065] I ผลิตภัณฑ์นี้มีซอฟต์แวร์ที่พัฒนาโดยโครงการ OpenSSL สำหรับใช้ใน OpenSSL Toolkit (http://www.openssl.org/) 2017/05/31 08:53:01 socat [16065] I ผลิตภัณฑ์นี้มีซอฟต์แวร์ที่เขียนโดย Tim Hudson (tjh@cryptsoft.com) 2017/05/31 08:53:01 socat [16065] ฉันตั้งค่าตัวเลือก "symbolic-link" เป็น "/ tmp / lp1" 2017/05/31 08:53:01 socat [16065] ฉัน openpty ({5}, {6}, {"/ dev / pts / 1"} ,,) -> 0 2017/05/31 08:53:01 socat [16065] N PTY คือ / dev / pts / 1 2017/05/31 08:53:01 socat [16065] ฉันตั้งค่าตัวเลือก "so-keepalive" ถึง 1 2017/05/31 08:53:01 socat [16065] ฉันตั้งค่าตัวเลือก "tcp-keepidle" ถึง 10 2017/05/31 08:53:01 socat [16065] ฉันตั้งค่าตัวเลือก "tcp-keepintvl" ถึง 10 2017/05/31 08:53:01 socat [16065] ฉันตั้งค่าตัวเลือก "tcp-keepcnt" ถึง 100 2017/05/31 08:53:01 socat [16065] ยังไม่มีการเปิดการเชื่อมต่อกับ AF = 2 192.168.0.5:9100 2017/05/31 08:53:01 socat [16065] ฉันเริ่มการเชื่อมต่อแบบวนซ้ำ 2017/05/31 08:53:01 socat [16065] ฉันซ็อกเก็ต (2, 1, 6) -> 7 2017/05/31 08:53:01 socat [16065] ไม่มีการเชื่อมต่อที่ประสบความสำเร็จจากที่อยู่ในท้องถิ่น AF = 2 192.168.0.4:56482 2017/05/31 08:53:01 socat [16065] ฉันแก้ไขและเปิดที่อยู่ถุงเท้าทั้งหมด 2017/05/31 08:53:01 socat [16065] ยังไม่มีการเริ่มการถ่ายโอนข้อมูลวนกับ FDs [5,5] และ [7,7] 2017/05/31 08:58:01 socat [16065] N socket 2 (fd 7) อยู่ที่ EOF 2017/05/31 08:58:02 socat [16065] ฉันโพลหมดเวลา (ไม่มีข้อมูลภายใน 0.500000 วินาที) 2017/05/31 08:58:02 socat [16065] ฉันปิด (5) 2017/05/31 08:58:02 socat [16065] ฉันปิด (7, 2) 2017/05/31 08:58:02 socat [16065] ยังไม่มีการออกจากสถานะ 0