libwebsockets使用记录

之前基于libwebsockets做了实时的web socket通讯,多个客户端访问,报文按照50ms传输。中间碰到了两个问题,这里记录一下:

1. 高频通讯过程中,写数据发生trunc错误,导致程序崩溃。

原因在于,一开始在callback外面,直接调用lws_write去发送数据。合适的做法应该是发送消息,然后在回调函数内部去写数据。这一步修改后,高频数据通讯造成的crash就修复了。

2. 多个客户端访问

1开始是单个客户端访问,通讯没有问题。后来变成多个客户端访问后,又出现了crash的问题,而且问题看上去和第一次高频通讯,发生trunc后crash一样。网上查了资料后,感觉方向可能是堆栈太小导致的,后来讲堆栈放大一点(放大了10倍,100K字节),问题就再也没有发生过。

     

你可能感兴趣的:(网络)