[C/C++] 簡易 socket 雙人聊天程式
先前為了能把tetris連線,於是小小研究了下socket的用法,
終於,我的程式不再只是會用system() call 其他程式,而是真正的進入雙向的溝通。
一樣在linux的環境下開發,算是要寫連線程式前的暖身。
我覺得以下這篇看看,就能對socket有初步認識,也就能開始使用了
Linux Socket Programming 淺談–教你的程式如何透過網路溝通
參考範例:socket 範例程式
參考範例,利用thread建立多執行序(相關用法見這篇)接收訊息,
再搭配ncurses(要裝才有喔,可以參考我這篇)寫出一個聊天室。(我把client sever寫一塊兒)
mycode: github上喔
效果:https://asciinema.org/a/cqri8tzq9qfd81g0djocabvmc
compile 時你可能需要加的一些 flag : -lncurses -pthread -lsocket -lnsl
測試:
可以用crtl+alt+F(n)做到切換tty(n),例如要切到tty1就按crtl+alt+F1,用兩個tty做連線,
又或者用screen指令開兩個視窗進行連線測試 (linux 下)
screen指令有可能不是預設的,所以要另外裝,
$ sudo apt-get install screen
有可能遇到伺服器掛掉,裝不起來,可以過一段時間再裝,或者爬文,換伺服器。(不行的話那用tty測吧)
screen指令的簡單操作:
ctrl+a然後w 查看現在開了那些screen
ctrl+a然後數字鍵 切換screen
2017/5/8 update: 我現在是都用 tmux 切 terminal 了啦 ...,要不就開兩個 terminal 吧...
下一步,寫出多人聊天室~~
留言
張貼留言