当前位置: 技术问答>linux和unix
linux SHELL上面运行的即时通信软件,如何实现输入输出分开
来源: 互联网 发布时间:2017-05-21
本文导语: 我用C写了一个简单的C/S即时通信,服务端和客户端。实现的时候是信息输入单独开了一个线程,以方便在输入消息的同时接受消息。可是在输入的同时如果接受到消息,原来的输入会被打乱(新接受的消息显示在输...
我用C写了一个简单的C/S即时通信,服务端和客户端。实现的时候是信息输入单独开了一个线程,以方便在输入消息的同时接受消息。可是在输入的同时如果接受到消息,原来的输入会被打乱(新接受的消息显示在输入的字符的中间)。
请问有什么办法解决吗?比如就在左下角输入,屏幕上显示双方的聊天记录。
PS:就如同VIM按了 :后的那种效果
请问有什么办法解决吗?比如就在左下角输入,屏幕上显示双方的聊天记录。
PS:就如同VIM按了 :后的那种效果
|
这要涉及到在控制台下的光标位置控制,有一些控制输出格式化方法,可以参考。
http://my.oschina.net/jcseg/blog/178047
另外VI是基于curses开发的,这个我没玩过,不过楼主需要实现类似功能,可以学下下curses。
http://my.oschina.net/jcseg/blog/178047
另外VI是基于curses开发的,这个我没玩过,不过楼主需要实现类似功能,可以学下下curses。
|
必须把输入输出统一到一处处理,否则定是乱的。