Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F6381993
server.c
tig_freebsdfoundation.org (Tiger Gao)
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
tig_freebsdfoundation.org
Apr 16 2020, 3:22 PM
2020-04-16 15:22:33 (UTC+0)
Size
1 KB
Referenced Files
None
Subscribers
None
server.c
View Options
// Server side C/C++ program to demonstrate Socket programming
#include
<unistd.h>
#include
<stdio.h>
#include
<sys/socket.h>
#include
<stdlib.h>
#include
<netinet/in.h>
#include
<string.h>
#define PORT 8080
int
main
(
int
argc
,
char
const
*
argv
[])
{
int
server_fd
,
new_socket
,
valread
;
struct
sockaddr_in
address
;
int
opt
=
1
;
int
addrlen
=
sizeof
(
address
);
char
buffer
[
1024
]
=
{
0
};
char
*
hello
=
"Hello from server"
;
// Creating socket file descriptor
if
((
server_fd
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
))
==
0
)
{
perror
(
"socket failed"
);
exit
(
EXIT_FAILURE
);
}
address
.
sin_family
=
AF_INET
;
address
.
sin_addr
.
s_addr
=
INADDR_ANY
;
address
.
sin_port
=
htons
(
PORT
);
// Forcefully attaching socket to the port 8080
if
(
bind
(
server_fd
,
(
struct
sockaddr
*
)
&
address
,
sizeof
(
address
))
<
0
)
{
perror
(
"bind failed"
);
exit
(
EXIT_FAILURE
);
}
if
(
listen
(
server_fd
,
3
)
<
0
)
{
perror
(
"listen"
);
exit
(
EXIT_FAILURE
);
}
if
((
new_socket
=
accept
(
server_fd
,
(
struct
sockaddr
*
)
&
address
,
(
socklen_t
*
)
&
addrlen
))
<
0
)
{
perror
(
"accept"
);
exit
(
EXIT_FAILURE
);
}
valread
=
read
(
new_socket
,
buffer
,
1024
);
printf
(
"%s
\n
"
,
buffer
);
send
(
new_socket
,
hello
,
strlen
(
hello
)
,
0
);
printf
(
"Hello message sent
\n
"
);
return
0
;
}
File Metadata
Details
Attached
Mime Type
text/x-c
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2559417
Default Alt Text
server.c (1 KB)
Attached To
Mode
D24442: Add new casper socket service
Attached
Detach File
Event Timeline
Log In to Comment