fsxNet Wiki

BBS Development & Resources

User Tools

Site Tools


tutorials:crystal_bbs:part_zero

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
tutorials:crystal_bbs:part_zero [2017/03/19 12:17]
sardaukar
tutorials:crystal_bbs:part_zero [2017/03/19 12:25]
sardaukar
Line 11: Line 11:
 So, the basic idea is that we get a character by character interface, just like a local Linux terminal emulator. ​ Our inputs are sent to the server, and we get an update of the virtual terminal'​s layout sent back (or not, in case the keystroke does not change the state of the terminal). So, the basic idea is that we get a character by character interface, just like a local Linux terminal emulator. ​ Our inputs are sent to the server, and we get an update of the virtual terminal'​s layout sent back (or not, in case the keystroke does not change the state of the terminal).
  
-Usually, network programming involves sending and receiving messages, but for purposes of manipulating this virtual terminal, we'll be sending and receiving more than just text - among the messages we will send (and receive) are things that are not shown in text, like sounding a bell or clearing the screen or moving the cursor to a specific line and column ​or even detecting the width and height (in columns and lines) of the client. These are [[resources:​misc:​ansi_escape_codes|ANSI Escape Codes]] and are not specific to Telnet - they govern the behaviour of any "​modern"​ text terminal. You **can** avoid these, but your BBS would not look very nice without screen clearing and cursor positioning and so on.+Usually, network programming involves sending and receiving messages, but for purposes of manipulating this virtual terminal, we'll be sending and receiving more than just text - among the messages we will send (and receive) are things that are not shown in text, like sounding a bell or clearing the screen or moving the cursor to a specific line and column. These are [[resources:​misc:​ansi_escape_codes|ANSI Escape Codes]] and are not specific to Telnet - they govern the behaviour of any "​modern"​ text terminal. You **can** avoid these, but your BBS would not look very nice without screen clearing and cursor positioning and so on.
  
 Specific to Telnet, there are factors like terminal size and message flow and so on - negotiating these client capabilities with the server was necessary even back when Telnet was first created as many different terminals, with different features, were prominent in the 1970s and 80s. Examples are the famous [[https://​en.wikipedia.org/​wiki/​VT100|VT100]] and [[https://​en.wikipedia.org/​wiki/​VT220|VT220]] terminals by DEC. Specific to Telnet, there are factors like terminal size and message flow and so on - negotiating these client capabilities with the server was necessary even back when Telnet was first created as many different terminals, with different features, were prominent in the 1970s and 80s. Examples are the famous [[https://​en.wikipedia.org/​wiki/​VT100|VT100]] and [[https://​en.wikipedia.org/​wiki/​VT220|VT220]] terminals by DEC.
tutorials/crystal_bbs/part_zero.txt ยท Last modified: 2018/03/29 01:58 (external edit)