06-10-2005
see there is full documentation of this topic in the man pages .
still some guidelines
for creating a socket you require threee thing that is network layer protocol ,Transport layer protocol and flag.
generally a tcp-ip packet will look like this socket(PF_INET,SOCK_STREAM,0)
this will return a integer value as descriptor.
after creating socket you have to bind if it is a server side socket.
bind need to set some parameters (binding means giving a name to packet).in case of ip you will have to specify port no which is 16 bit and a network no or ip address.
so in short
functions you will be using will be
socket()->bind()->listen()->accept()->close()
in case of client side
socket()->connect()->close();
10 More Discussions You Might Find Interesting
1. Programming
Hi !
I had a verry simple question to ask...
In unix when we create pipes.. the unnamed pipes that is...
is there any way to access those pipes outside the code ?
Another thing.. do sockets have an entry in the inode table ?
TIA,
Devyani. (1 Reply)
Discussion started by: devy8
1 Replies
2. Programming
I am looking for a way to have a program listen on a port (example: 8000) for communication I will be sending via that port to it(Linux Kernel machine). Once it recieves an appropiate command I need it to run a .bat file in linux.
I know what I need to do but I am running into a few problems:... (8 Replies)
Discussion started by: bigB8210
8 Replies
3. UNIX for Dummies Questions & Answers
how do i mointor how many sockets are opened from a particular foriegn address? (2 Replies)
Discussion started by: kirpond
2 Replies
4. Solaris
Is there a way to see what sockets are in use? The developers here are getting some defunct processes and they would like to get a socket list.
This is on a Solaris 8 machine.
Thanks! (1 Reply)
Discussion started by: kjbaumann
1 Replies
5. IP Networking
Is it possible to trace the packages and the statuses of client's and/or server's sockets by the UNIX network administrative tools?
Two applications interact via sockets. There is no problem if they stay in the same network segment. If their hosts connected through the firewall then they aren't... (4 Replies)
Discussion started by: gogogo
4 Replies
6. Programming
anyone and teach me how to save standard output to a file in a client/server socket. I know how to read them to the screen but i'm not quite sure how to save them to a file.
my read to screen file code:
memset(line, 0x0, LINE_ARRAY_SIZE);
while (recv(connectSocket, line, MAX_MSG, 0) >... (1 Reply)
Discussion started by: crunchyuser
1 Replies
7. Programming
Hi,i now moved into a different section where i need to use sockets.
i am completely nill in sockets.
can some body please provide me what are the requirements for a socket.
to use sockets in c.
thanks (1 Reply)
Discussion started by: MrUser
1 Replies
8. Programming
if i have a server which wants to connect to exactly 5 clients, does that mean i need 5 socket file descriptors and use
listen(socket_fd,1);
for each one
or just do
listen(socket_fd,5)
also whats the second parameter number mean? what happens if i put 0 there?
also if i am connected... (28 Replies)
Discussion started by: omega666
28 Replies
9. Red Hat
hai guys,
I'm doing a project in which one server communicates with several clients. How can i do it when i have different port numbers???:confused: (0 Replies)
Discussion started by: rajeshb6
0 Replies
10. Programming
Hi, i am student, think learning about c++, someone has a example the how establish a conection with sockets :b::b: (1 Reply)
Discussion started by: mmartinez
1 Replies
LEARN ABOUT NETBSD
getpeereid
GETPEEREID(3) BSD Library Functions Manual GETPEEREID(3)
NAME
getpeereid -- get the effective credentials of a UNIX-domain peer
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
int
getpeereid(int s, uid_t *euid, gid_t *egid);
DESCRIPTION
The getpeereid() function returns the effective user and group IDs of the peer connected to a UNIX-domain socket. The argument s must be a
UNIX-domain socket (unix(4)) of type SOCK_STREAM on which either connect(2) has been called, or one returned from accept(2) after bind(2) and
listen(2) have been called. If non-NULL, the effective used ID is placed in euid, and the effective group ID in egid.
The credentials returned to the accept(2) caller are those of its peer at the time it called connect(2); the credentials returned to the
connect(2) caller are those of its peer at the time it called bind(2). This mechanism is reliable; there is no way for either side to influ-
ence the credentials returned to its peer except by calling the appropriate system call (i.e., either connect(2) or bind(2)) under different
effective credentials.
One common use of this routine is for a UNIX-domain server to verify the credentials of its client. Likewise, the client can verify the cre-
dentials of the server.
IMPLEMENTATION NOTES
On NetBSD, getpeereid() is implemented in terms of the LOCAL_PEEREID unix(4) socket option.
RETURN VALUES
The getpeereid() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi-
cate the error.
ERRORS
The getpeereid() function fails if:
[EBADF] The argument s is not a valid descriptor.
[ENOTSOCK] The argument s is a file, not a socket.
[ENOTCONN] The argument s does not refer to a socket on which connect(2) have been called nor one returned from listen(2).
[EINVAL] The argument s does not refer to a socket of type SOCK_STREAM, or the kernel returned invalid data.
SEE ALSO
connect(2), getpeername(2), getsockname(2), getsockopt(2), listen(2), unix(4)
HISTORY
The getpeereid() function appeared in NetBSD 5.0.
BSD
August 8, 2007 BSD