Skip to content

Commit c5c9f5d

Browse files
pequenas correções ortográficas
1 parent 7d9cbef commit c5c9f5d

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

content/upload-de-arquivos-com-socket-e-struct.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ Linkedin: SilvioApSilva
1010
Twitter: @kanazux
1111
Site: http://kanazuchi.com
1212

13-
Apesar de termos muitas formas de enviarmos arquivos para servidores hoje em dia, como por exemplo o *scp* e *rsync*, podemos usar o python com seus modulos *built-in* para enviar arquivos a servidores usando struct para serializar os dados e socket para criar uma conexão cliente/servidor.
13+
Apesar de termos muitas formas de enviarmos arquivos para servidores hoje em dia, como por exemplo o *scp* e *rsync*, podemos usar o python com seus módulos *built-in* para enviar arquivos a servidores usando struct para serializar os dados e socket para criar uma conexão cliente/servidor.
1414

1515
### *Struct*
1616

17-
O modulo [struct](https://docs.python.org/3/library/struct.html) é usado para converter bytes no python em formatos do struct em C.
18-
Com ele podemos enviar num unico conjunto de dados o nome de um arquivo e os bytes referentes ao seus dados.
17+
O módulo [struct](https://docs.python.org/3/library/struct.html) é usado para converter bytes no python em formatos do struct em C.
18+
Com ele podemos enviar num único conjunto de dados o nome de um arquivo e os bytes referentes ao seus dados.
1919

2020
Struct também é utilizado para serializar diversos tipos de dados diferentes, como bytes, inteiros, floats além de outros, no nosso caso usaremos apenas bytes.
2121

@@ -38,7 +38,7 @@ with open(arquivo, 'rb') as arq:
3838
dados_upload = serializar.pack(*[arquivo.encode(), dados_arquivo])
3939
```
4040

41-
Por padrão, struct usa caracteres no inicio da sequencia dos dados para definir a ordem dos bytes, tamanho e alinhamento dos bytes nos dados empacotados.
41+
Por padrão, struct usa caracteres no início da sequência dos dados para definir a ordem dos bytes, tamanho e alinhamento dos bytes nos dados empacotados.
4242
Esses caracteres podem ser vistos na [seção 7.1.2.1](https://docs.python.org/3/library/struct.html#byte-order-size-and-alignment) da documentação.
4343
Como não definimos, será usado o **@** que é o padrão.
4444

@@ -75,8 +75,8 @@ O modulo [socket](https://docs.python.org/3/library/socket.html) prove interface
7575

7676
#### Familias de sockets
7777

78-
Diversas familias de sockets podem ser usadas para termos acessos a objetos que nos permitam fazer chamadas de sistema.
79-
Mais informações sobre as familias podem ser encontradas na [seção 18.1.1](https://docs.python.org/3/library/socket.html#socket-families) da documentação. No nosso exemplo usaremos a AF_INET.
78+
Diversas famílias de sockets podem ser usadas para termos acessos a objetos que nos permitam fazer chamadas de sistema.
79+
Mais informações sobre as famílias podem ser encontradas na [seção 18.1.1](https://docs.python.org/3/library/socket.html#socket-families) da documentação. No nosso exemplo usaremos a AF_INET.
8080

8181
#### AF_INET
8282

@@ -85,7 +85,7 @@ Para endereços IPv6 o modulo disponibiliza o **AF_INET6**
8585

8686
#### Constante [SOCK_STREAM]
8787

88-
As constantes representam as familias de sockets, como a constante AF_INET e os protocolos usados como parametros para o modulo socket.
88+
As constantes representam as famílias de sockets, como a constante AF_INET e os protocolos usados como parâmetros para o modulo socket.
8989
Um dos protocolos mais usados encontrados na maioria dos sistemas é o SOCK_STREAM.
9090

9191
Ele é um protocolo baseado em comunicação que permite que duas partes estabeleçam uma conexão e conversem entre si.
@@ -107,19 +107,19 @@ porta = 6124
107107
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
108108
```
109109

110-
Agora usaremos o metodo bind para criarmos um ponto de conexão para nosso cliente. Esse metodo espera por uma tupla contento o host e porta como parametros.
110+
Agora usaremos o metodo bind para criarmos um ponto de conexão para nosso cliente. Esse método espera por uma tupla contento o host e porta como parâmetros.
111111

112112
```python
113113
sock.bind((host, porta))
114114
```
115115

116-
Agora vamos colocar nosso servidor socket em modo escuta com o metodo listen. Esse metodo recebe como parametro um numero inteiro (**backlog**) definindo qual o tamanho da fila que será usada para receber pacotes SYN até dropar a conexão. Usaremos um valor baixo o que evita SYN flood na rede. Mais informações sobre *backlog* podem ser encontradas na [RFC 7413](https://tools.ietf.org/html/rfc7413).
116+
Agora vamos colocar nosso servidor socket em modo escuta com o metodo listen. Esse método recebe como parâmetro um número inteiro (**backlog**) definindo qual o tamanho da fila que será usada para receber pacotes SYN até dropar a conexão. Usaremos um valor baixo o que evita SYN flood na rede. Mais informações sobre *backlog* podem ser encontradas na [RFC 7413](https://tools.ietf.org/html/rfc7413).
117117

118118
```python
119119
sock.listen(5)
120120
```
121121

122-
Agora vamos colocar o nosso socket em um loop esperando por uma conexão e um inicio de conversa. Pra isso vamos usar o metodo *accept* que nos devolve uma tupla, onde o primeiro elemento é um novo objeto socket para enviarmos e recebermos informações, e o segundo contendo informações sobre o endereço de origem e porta usada pelo cliente.
122+
Agora vamos colocar o nosso socket em um loop esperando por uma conexão e um início de conversa. Pra isso vamos usar o metodo *accept* que nos devolve uma tupla, onde o primeiro elemento é um novo objeto socket para enviarmos e recebermos informações, e o segundo contendo informações sobre o endereço de origem e porta usada pelo cliente.
123123

124124
**Vamos criar um diretório para salvar nosso novo arquivo.**
125125

@@ -162,7 +162,7 @@ while True:
162162

163163
> Cliente
164164
165-
Nosso cliente irá usar o metodo *connect* para se connectar no servidor e a partir dai começar enviar e receber mensagens. Ele também recebe como parametros uma tupla com o host e porta de conexão do servidor.
165+
Nosso cliente irá usar o metodo *connect* para se conectar no servidor e a partir dai começar enviar e receber mensagens. Ele também recebe como parâmetros uma tupla com o host e porta de conexão do servidor.
166166

167167
```python
168168
host = '127.0.0.1'

0 commit comments

Comments
 (0)