-
Notifications
You must be signed in to change notification settings - Fork 1
/
socket-descriptions.txt
122 lines (87 loc) · 3.27 KB
/
socket-descriptions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# OMÜ Bilgisayar Mühendisliği - Sistem Programlama Dersi - Soket Programlama
Soket oluşturmak için gerekli fonksiyon ve kütüphane açıklamaları
## sys/socket.h
Soket oluşturmak için gerekli fonksiyonları içeren başlık dosyasıdır.
## arpa/inet.h
Soket adresi oluşturmak için gerekli olan fonksiyon ve sabitleri içeren
başlık dosyasıdır.
Bu kütüphane içerisinde diğer gerekli alt kütüphaneleri de koda dahil
ettiği için diğer bir çok başlık dosyasını import etmeye gerek kalmaz.
## socket()
Bağlantı için gerekli endpoint (uç birim) oluşturur.
Başarılı olması durumunda bir dosya tanımlayıcısı (file descriptor) döner.
Başarısız olursa da -1 değerini döner.
Parametreleri:
1 : Domain ( Specifies the communications domain in which a socket is to be
created. )
2 : Type ( Specifies the type of socket to be created. )
3 : Protocol ( Specifies a particular protocol to be used with the socket.
Specifying a protocol of 0 causes socket() to use an unspecified default
protocol appropriate for the requested socket type.)
AF_INET : IPv4 Protokolü
AF_INET6 : IPv6 Protokolü
SOCK_STREAM : TCP
SOCK_DGRAM : UDP
0 : Varsayılan protokol
IPPROTO_UDP : UDP protokolü
## sockaddr_in
sin_family : AF_INET olarak belirlenmelidir.
sin_port : Portu belirler.
htons : Port numarasını network byte order'a dönüştürür.
sin_addr : IP host address
s_addr : Host interface address
## bind()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Socket address ( *sockaddr )
3 : Server address length ( socketlen_t )
## connect()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Socket address ( *sockaddr )
3 : Server address length ( socketlen_t )
## listen()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Backlog ( int )
The backlog argument defines the maximum length to which the queue of pending
connections for sockfd may grow.
## accept()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Socket address ( *sockaddr )
3 : Socket length ( *socklen_t )
## memset()
Parametreleri:
1 : dest : Destination ( *char )
2 : c : Character to fill ( char )
3 : n : Size ( int )
İstenilen bir karakteri (unsigned char), dest parametresindeki bellek bölgesinin ilk n parametre değeri kadar byte'ına kopyalar.
## recv()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Buffer ( *void )
3 : Buffer length ( size_t )
4 : Flags ( int )
## send()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Buffer ( *void )
3 : Buffer length ( size_t )
4 : Flags ( int )
## sendto()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Buffer ( *void )
3 : Buffer length ( size_t )
4 : Flags ( int )
5 : Socket address ( *sockaddr )
6 : Socket length ( socklen_t )
## recvfrom()
Parametreleri:
1 : Socket file descriptor ( int )
2 : Buffer ( *void )
3 : Buffer length ( size_t )
4 : Flags ( int )
5 : Socket address ( *sockaddr )
6 : Socket length ( *socklen_t )