4. Exemplo de Conexão

A seguir tem-se um exemplo de uma conexão simples de um cliente a um servidor Gopher. Suponha que um cliente queira comunicar-se com o servidor Gopher Raiz na Universidade de Minnesota. Para isto, basta a ele conhecer o endereço do servidor (no caso rawBits.micro.umn.edu) e a porta TCP na qual ele atende ao serviço (70).

Cada linha do exemplo abaixo é finalizada com um caracter de <\CR LF>.

Cliente:            {Abre a conexão com o rawBits.micro.umn.edu na porta 70}
Servidor:           {Aceita a conexão mas não retorna nada}
Cliente: <\CR><\LF> {Envia uma linha em branco: Significa "liste o que você tem"}
Servidor:           {Envia uma série de linhas, todas finalizando com um CR LF}
0About internet Gopher<\TAB>Stuff:About us<\TAB>rawBits.micro.umn.edu<\TAB>70
|
| Campo visível ao usuário |   Seletor   |     |       Host         |    |Porta TCP|
| ------------------------- -------------      --------------------       ---------
|
+-> Tipo do ítem (objeto)

1Around the University of Minnesota<\TAB>,5692,AUM<\TAB>underdog.micro.umn.edu<\TAB>70
1Microcomputer News & Prices<\TAB>Prices/<\TAB>pserver.bookstore.umn.edu<\TAB>70
1Courses, Schedules, Calendars<\TAB><\TAB>events.ais.umn.edu<\TAB>9120
1Student-Staff Directories<\TAB>><\TAB>uinfo.ais.umn.edu<\TAB>70
1Departmental Publications<\TAB>Stuff:DP:<\TAB>rawBits.micro.umn.edu<\TAB>70
                   {.....etc.....}
.                  
 	     {Ponto final}
             {Servidor encerra a conexão}

Obs: Significado dos caracteres:
===
	<\TAB> = Tabulacao
	<\CR>  = Avanco de Carro (Carriage Return)
	<\LF>  = Avanco de Linha (Line Feed)

O campo Tipo do ítem serve para descrever o tipo do objeto e pode assumir os seguintes valores:

	0 - arquivo
	1 - diretório
	2 - CSO (phone-book server)
	3 - Erro
	4 - arquivo Macintosh
	5 - arquivo binário do DOS (*)
	6 - arquivo UNIX
	7 - Servidor de Busca (WAIS)
	8 - Sessão Telnet (texto)
	9 - arquivo binário (*)  (cliente lê até o final TCP)
	+ - Servidor redundante
	T - Sessão tn3270 (texto)
	g - arquivo GIF
	I - arquivo de imagem

Os visualizadores dos clientes Gopher, assim como em outros protocolos, podem utilizar o campo de ítem para melhor descrever um objeto. Dessa forma, ícones podem ser associados a diversos tipos de objetos, facilitando a compreensão do usuário sobre o que encontra-se disponível. Os clientes geralmente guardam informações sobre os lugares que já foram visitados, bem como, aqueles considerados mais importantes e que podem ser acessados rapidamente (Bookmarks).