Implement the following two programs:
NAME
YouChatS - Universal Chat Server
YouChatC - Universal Chat Client
SYNOPSIS
YouChatS <multicast-address> <port>
YouChatC <type> <address> <port>
where <type> is an element of the following set: {
t4, t6, s4, s6, q4, q6, m4, m6, ux}
DESCRIPTION
ê YouChatS:
This is an extended implementation of assignment
1.
The
program creates three IPV6 sockets bindend to <port>.
1.
UDP socket joining the <multicast-address>
2.
TCP socket
3.
SCTP socket
In addition, the program creates
a UNIX socket binded to file :
/tmp/<port>
You have the choice of
implementing your program using either:
Select,
Threads or Forks/Shared
Memory.
Example:
% YouChatS 224.0.0.1
10111
ê YouChatC:
The program is
a typical
chat client:
accepts
user input,
sends
it to the server,
receives
messages from the server and
displays it to the user.
The program behaves
according to the type option:
t4 : TCP
IPV4
t6 : TCP
IPV6
s4 : SCTP
STREAM IPV4
s6 : SCTP
STREAM IPV6
q4 : SCTP
SEQPACKET IPV4
q6 : SCTP
SEQPACKET IPV6
m4 : mcast IPV4
m6 : mcast IPV6
ux : Unix stream socket using file /tmp/<port>
Examples:
% YouChatC m4 224.0.0.1
10111
% YouChatC m6 ::ffff:224.0.0.1 10111
% YouChatC ux 127.0.0.1 10111
% YouChatC t6 ::1 10111
% YouChatC q4 127.0.0.1 10111
You may test my implementations at:
http://www.cs.odu.edu/~cs779/spring12/assignments/a4/wahab/