SlideShare a Scribd company logo
1. You are to write a client-server application to support Calculuss IRC system.
2. Implement a single central server IRC network. server-to-server communication is outside the
scope of P1.
3. The client $ server interaction should happen over TCP.
4. Support the following Connection Registration messages (RFC #2812 Sec. 3.1): NICK,
USER, and QUIT.
5. Support the following Channel Operation messages (RFC #2812 Sec. 3.2): JOIN, PART,
TOPIC, and NAMES.
6. PRIVMSG command (RFC #2812 Sec. 3.3.1).
7. TIME command (RFC #2812 Sec. 3.4.6).
8. Closely related to each message above are the numeric replies listed under them. These
correspond to message responses (RPL_ prefix) and error replies (ERR_ prefix). Carefully read
RFC #2812 Sec. 5.1 and 5.2. last updated: 03/14/23 @ 7:08am 1 M&W 01:30 02:45 p.m. SE
1230 CS447 Spring 2023
Clearly document all reply codes youve implemented in your report.
Grader will randomly test numeric replies by triggering the corresponding error condition(s).
Thus, it is advised to implement as many numeric replies as possible corresponding to each
message. Note: The RFC lists several examples under each message (Sec. 3.1 and 3.2) that
demonstrates each client message as well as the corresponding server response. You are expected
to follow the same format/syntax in your implementations. Logistics
1. Use configuration files to provide runtime arguments as follows:
The client executable receives two runtime arguments through client.conf. client.conf
SERVER_IP=y.y.y.y SERVER_PORT=xxxx
The configuration file for the server executable should have the following format: server.conf
NICK= PASS= PORT= SERVERS= SOCK_ADDR= The only necessary server runtime
argument at this point are NICK and PORT. Rest are in anticipation of P2. For now, simply read
and store the unused runtime arguments in variables (for future use).
2. Concurrent multiple clients should be supported; more than one client should be capable of
communicating the with server at the same time without any interference.
3. clients should be able to change their nickname(s) (NICK), register their usernames (USER),
and gracefully exit thru QUIT.
4. clients should be able to join/create channels (JOIN), leave channels (PART),
set/view/list/clear topics (TOPIC), and list all other nicknames on the server (NAMES).
5. clients should be able to communicate with other users either directly or through channels
(PRIVMSG).
6. clients should be able to query the server for the localtime (TIME).
7. The server process is permitted to be forcefully killed if needed.
8. Print all reply codes on all interactions to the standard output.
9. At the end of your implementation, you should be able to:
Compile and run your code on a typical Linux machine(s). Include a readme file with clear
compilation instructions and any additional software the grader might have to install.
Run your server program first.
Run one or more clients and register with the server.
Create channels. Engage with other users through IRC.
Exit the client(s) gracefully.
10. Heres a very basic sample interaction. The clients hostname and IP are 10.24.186.1/tgamage-
1. For the server they are 10.24.186.0/tgamage-0 Assume the servers nickname is babbage.

More Related Content

Similar to 1. You are to write a client-server application to support Calculus�.pdf

KrakenD API Gateway
KrakenD API GatewayKrakenD API Gateway
KrakenD API Gateway
Albert Lombarte
 
Bt0076, tcp ip
Bt0076, tcp ipBt0076, tcp ip
Bt0076, tcp ip
smumbahelp
 
Bt0076, tcp ip
Bt0076, tcp ipBt0076, tcp ip
Bt0076, tcp ip
smumbahelp
 
Lecture9
Lecture9Lecture9
TekRADIUS
TekRADIUSTekRADIUS
TekRADIUS
Yasin KAPLAN
 
TekRADIUS
TekRADIUSTekRADIUS
TekRADIUS
Yasin KAPLAN
 
Student packet tracer manual v1.1
Student packet tracer manual v1.1Student packet tracer manual v1.1
Student packet tracer manual v1.1
milkux
 
VerneMQ - Distributed MQTT Broker
VerneMQ - Distributed MQTT BrokerVerneMQ - Distributed MQTT Broker
VerneMQ - Distributed MQTT Broker
Adriano Pimpini
 
T3UC_PresentationT3UC2012_Rajesh
T3UC_PresentationT3UC2012_RajeshT3UC_PresentationT3UC2012_Rajesh
T3UC_PresentationT3UC2012_Rajesh
Rajesh Kumar Bathina
 
Bt0076 tcp ip
Bt0076  tcp ipBt0076  tcp ip
Bt0076 tcp ip
smumbahelp
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
ICS
 
TekRADIUS Datasheet
TekRADIUS DatasheetTekRADIUS Datasheet
TekRADIUS Datasheet
Yasin KAPLAN
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdf
MandanaHazeri
 
Tutorial mikrotik step by step anung muhandanu
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu
theviper0308
 
Bt0076, tcpip
Bt0076, tcpipBt0076, tcpip
Bt0076, tcpip
smumbahelp
 
IntroductionA powerful tool for network troubleshooting but also.docx
IntroductionA powerful tool for network troubleshooting but also.docxIntroductionA powerful tool for network troubleshooting but also.docx
IntroductionA powerful tool for network troubleshooting but also.docx
mariuse18nolet
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
WSO2
 
Transport Layer Security - Mrinal Wadhwa
Transport Layer Security - Mrinal WadhwaTransport Layer Security - Mrinal Wadhwa
Transport Layer Security - Mrinal Wadhwa
Mrinal Wadhwa
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer Security
n|u - The Open Security Community
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
WSO2
 

Similar to 1. You are to write a client-server application to support Calculus�.pdf (20)

KrakenD API Gateway
KrakenD API GatewayKrakenD API Gateway
KrakenD API Gateway
 
Bt0076, tcp ip
Bt0076, tcp ipBt0076, tcp ip
Bt0076, tcp ip
 
Bt0076, tcp ip
Bt0076, tcp ipBt0076, tcp ip
Bt0076, tcp ip
 
Lecture9
Lecture9Lecture9
Lecture9
 
TekRADIUS
TekRADIUSTekRADIUS
TekRADIUS
 
TekRADIUS
TekRADIUSTekRADIUS
TekRADIUS
 
Student packet tracer manual v1.1
Student packet tracer manual v1.1Student packet tracer manual v1.1
Student packet tracer manual v1.1
 
VerneMQ - Distributed MQTT Broker
VerneMQ - Distributed MQTT BrokerVerneMQ - Distributed MQTT Broker
VerneMQ - Distributed MQTT Broker
 
T3UC_PresentationT3UC2012_Rajesh
T3UC_PresentationT3UC2012_RajeshT3UC_PresentationT3UC2012_Rajesh
T3UC_PresentationT3UC2012_Rajesh
 
Bt0076 tcp ip
Bt0076  tcp ipBt0076  tcp ip
Bt0076 tcp ip
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
 
TekRADIUS Datasheet
TekRADIUS DatasheetTekRADIUS Datasheet
TekRADIUS Datasheet
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdf
 
Tutorial mikrotik step by step anung muhandanu
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu
 
Bt0076, tcpip
Bt0076, tcpipBt0076, tcpip
Bt0076, tcpip
 
IntroductionA powerful tool for network troubleshooting but also.docx
IntroductionA powerful tool for network troubleshooting but also.docxIntroductionA powerful tool for network troubleshooting but also.docx
IntroductionA powerful tool for network troubleshooting but also.docx
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
 
Transport Layer Security - Mrinal Wadhwa
Transport Layer Security - Mrinal WadhwaTransport Layer Security - Mrinal Wadhwa
Transport Layer Security - Mrinal Wadhwa
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer Security
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
 

More from aliradios

11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf
11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf
11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf
aliradios
 
11. In many research project there are several consideration when co.pdf
11. In many research project there are several consideration when co.pdf11. In many research project there are several consideration when co.pdf
11. In many research project there are several consideration when co.pdf
aliradios
 
10) If inflation in the United States is higher than inflation in ot.pdf
10) If inflation in the United States is higher than inflation in ot.pdf10) If inflation in the United States is higher than inflation in ot.pdf
10) If inflation in the United States is higher than inflation in ot.pdf
aliradios
 
10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf
10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf
10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf
aliradios
 
10. Following are the weather data collected on Christmas Day Event .pdf
10. Following are the weather data collected on Christmas Day Event .pdf10. Following are the weather data collected on Christmas Day Event .pdf
10. Following are the weather data collected on Christmas Day Event .pdf
aliradios
 
1.What type of malware gathers user activity data without user conse.pdf
1.What type of malware gathers user activity data without user conse.pdf1.What type of malware gathers user activity data without user conse.pdf
1.What type of malware gathers user activity data without user conse.pdf
aliradios
 
1.The concept of present value relates to the idea that a)Th.pdf
1.The concept of present value relates to the idea that  a)Th.pdf1.The concept of present value relates to the idea that  a)Th.pdf
1.The concept of present value relates to the idea that a)Th.pdf
aliradios
 
1.Provide a brief history of the Federal Reserve, including an expla.pdf
1.Provide a brief history of the Federal Reserve, including an expla.pdf1.Provide a brief history of the Federal Reserve, including an expla.pdf
1.Provide a brief history of the Federal Reserve, including an expla.pdf
aliradios
 
1.Provide instances of the major difficulties affecting businesses a.pdf
1.Provide instances of the major difficulties affecting businesses a.pdf1.Provide instances of the major difficulties affecting businesses a.pdf
1.Provide instances of the major difficulties affecting businesses a.pdf
aliradios
 
1.How is hope a therapeutic factor in a group What are other types .pdf
1.How is hope a therapeutic factor in a group What are other types .pdf1.How is hope a therapeutic factor in a group What are other types .pdf
1.How is hope a therapeutic factor in a group What are other types .pdf
aliradios
 
1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf
1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf
1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf
aliradios
 
1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf
1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf
1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf
aliradios
 
1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf
1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf
1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf
aliradios
 
1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf
1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf
1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf
aliradios
 
1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf
1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf
1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf
aliradios
 
1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf
1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf
1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf
aliradios
 
1. �Cu�l de los siguientes no es parte del marco COSO supervisi�.pdf
1. �Cu�l de los siguientes no es parte del marco COSO  supervisi�.pdf1. �Cu�l de los siguientes no es parte del marco COSO  supervisi�.pdf
1. �Cu�l de los siguientes no es parte del marco COSO supervisi�.pdf
aliradios
 
1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf
1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf
1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf
aliradios
 
1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf
1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf
1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf
aliradios
 
1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf
1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf
1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf
aliradios
 

More from aliradios (20)

11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf
11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf
11, Las relaciones p�blicas utilizan una variedad de t�cnicas para m.pdf
 
11. In many research project there are several consideration when co.pdf
11. In many research project there are several consideration when co.pdf11. In many research project there are several consideration when co.pdf
11. In many research project there are several consideration when co.pdf
 
10) If inflation in the United States is higher than inflation in ot.pdf
10) If inflation in the United States is higher than inflation in ot.pdf10) If inflation in the United States is higher than inflation in ot.pdf
10) If inflation in the United States is higher than inflation in ot.pdf
 
10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf
10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf
10. �D�nde se encuentran m�s com�nmente las rocas �gneas intermedias.pdf
 
10. Following are the weather data collected on Christmas Day Event .pdf
10. Following are the weather data collected on Christmas Day Event .pdf10. Following are the weather data collected on Christmas Day Event .pdf
10. Following are the weather data collected on Christmas Day Event .pdf
 
1.What type of malware gathers user activity data without user conse.pdf
1.What type of malware gathers user activity data without user conse.pdf1.What type of malware gathers user activity data without user conse.pdf
1.What type of malware gathers user activity data without user conse.pdf
 
1.The concept of present value relates to the idea that a)Th.pdf
1.The concept of present value relates to the idea that  a)Th.pdf1.The concept of present value relates to the idea that  a)Th.pdf
1.The concept of present value relates to the idea that a)Th.pdf
 
1.Provide a brief history of the Federal Reserve, including an expla.pdf
1.Provide a brief history of the Federal Reserve, including an expla.pdf1.Provide a brief history of the Federal Reserve, including an expla.pdf
1.Provide a brief history of the Federal Reserve, including an expla.pdf
 
1.Provide instances of the major difficulties affecting businesses a.pdf
1.Provide instances of the major difficulties affecting businesses a.pdf1.Provide instances of the major difficulties affecting businesses a.pdf
1.Provide instances of the major difficulties affecting businesses a.pdf
 
1.How is hope a therapeutic factor in a group What are other types .pdf
1.How is hope a therapeutic factor in a group What are other types .pdf1.How is hope a therapeutic factor in a group What are other types .pdf
1.How is hope a therapeutic factor in a group What are other types .pdf
 
1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf
1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf
1.Explain how to choose the better Maintenance Plan Based on Prevent.pdf
 
1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf
1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf
1.Gelimi bilgi teknolojisinin mevcudiyeti, bir kuruluun iinin herha.pdf
 
1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf
1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf
1.) �Cu�l no es un componente del punto de vista bioc�ntrico A) T.pdf
 
1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf
1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf
1.) Bir merkez bankas para biriminin deerini deitirmek i�in dolayl m.pdf
 
1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf
1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf
1. �Qu� es una botnet 2. Describir algunos de los puntos principa.pdf
 
1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf
1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf
1. �Te gustar�a trabajar en un lugar como Zappos antes de la transic.pdf
 
1. �Cu�l de los siguientes no es parte del marco COSO supervisi�.pdf
1. �Cu�l de los siguientes no es parte del marco COSO  supervisi�.pdf1. �Cu�l de los siguientes no es parte del marco COSO  supervisi�.pdf
1. �Cu�l de los siguientes no es parte del marco COSO supervisi�.pdf
 
1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf
1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf
1. � Discuss common MLM ( Multi-Level Marketing) practices and the.pdf
 
1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf
1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf
1. �Cu�l de las siguientes es FALSA con respecto a Bordetella pertus.pdf
 
1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf
1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf
1. Y�netim �phesiz insanolunun en �nemli icatlarndan biridir.� Bu if.pdf
 

Recently uploaded

HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
deepaannamalai16
 
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxxSimple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
RandolphRadicy
 
Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...
PsychoTech Services
 
CIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdfCIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdf
blueshagoo1
 
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
TechSoup
 
Ch-4 Forest Society and colonialism 2.pdf
Ch-4 Forest Society and colonialism 2.pdfCh-4 Forest Society and colonialism 2.pdf
Ch-4 Forest Society and colonialism 2.pdf
lakshayrojroj
 
How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17
Celine George
 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
MJDuyan
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
EduSkills OECD
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
Kalna College
 
Standardized tool for Intelligence test.
Standardized tool for Intelligence test.Standardized tool for Intelligence test.
Standardized tool for Intelligence test.
deepaannamalai16
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
ShwetaGawande8
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
zuzanka
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
Kalna College
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 
adjectives.ppt for class 1 to 6, grammar
adjectives.ppt for class 1 to 6, grammaradjectives.ppt for class 1 to 6, grammar
adjectives.ppt for class 1 to 6, grammar
7DFarhanaMohammed
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
MJDuyan
 
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGHKHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
shreyassri1208
 
Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10
nitinpv4ai
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Henry Hollis
 

Recently uploaded (20)

HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
 
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxxSimple-Present-Tense xxxxxxxxxxxxxxxxxxx
Simple-Present-Tense xxxxxxxxxxxxxxxxxxx
 
Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...
 
CIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdfCIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdf
 
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
 
Ch-4 Forest Society and colonialism 2.pdf
Ch-4 Forest Society and colonialism 2.pdfCh-4 Forest Society and colonialism 2.pdf
Ch-4 Forest Society and colonialism 2.pdf
 
How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17How to Setup Default Value for a Field in Odoo 17
How to Setup Default Value for a Field in Odoo 17
 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
 
Standardized tool for Intelligence test.
Standardized tool for Intelligence test.Standardized tool for Intelligence test.
Standardized tool for Intelligence test.
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 
adjectives.ppt for class 1 to 6, grammar
adjectives.ppt for class 1 to 6, grammaradjectives.ppt for class 1 to 6, grammar
adjectives.ppt for class 1 to 6, grammar
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
 
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGHKHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
 
Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
 

1. You are to write a client-server application to support Calculus�.pdf

  • 1. 1. You are to write a client-server application to support Calculuss IRC system. 2. Implement a single central server IRC network. server-to-server communication is outside the scope of P1. 3. The client $ server interaction should happen over TCP. 4. Support the following Connection Registration messages (RFC #2812 Sec. 3.1): NICK, USER, and QUIT. 5. Support the following Channel Operation messages (RFC #2812 Sec. 3.2): JOIN, PART, TOPIC, and NAMES. 6. PRIVMSG command (RFC #2812 Sec. 3.3.1). 7. TIME command (RFC #2812 Sec. 3.4.6). 8. Closely related to each message above are the numeric replies listed under them. These correspond to message responses (RPL_ prefix) and error replies (ERR_ prefix). Carefully read RFC #2812 Sec. 5.1 and 5.2. last updated: 03/14/23 @ 7:08am 1 M&W 01:30 02:45 p.m. SE 1230 CS447 Spring 2023 Clearly document all reply codes youve implemented in your report. Grader will randomly test numeric replies by triggering the corresponding error condition(s). Thus, it is advised to implement as many numeric replies as possible corresponding to each message. Note: The RFC lists several examples under each message (Sec. 3.1 and 3.2) that demonstrates each client message as well as the corresponding server response. You are expected to follow the same format/syntax in your implementations. Logistics 1. Use configuration files to provide runtime arguments as follows: The client executable receives two runtime arguments through client.conf. client.conf SERVER_IP=y.y.y.y SERVER_PORT=xxxx The configuration file for the server executable should have the following format: server.conf NICK= PASS= PORT= SERVERS= SOCK_ADDR= The only necessary server runtime argument at this point are NICK and PORT. Rest are in anticipation of P2. For now, simply read and store the unused runtime arguments in variables (for future use). 2. Concurrent multiple clients should be supported; more than one client should be capable of communicating the with server at the same time without any interference. 3. clients should be able to change their nickname(s) (NICK), register their usernames (USER), and gracefully exit thru QUIT. 4. clients should be able to join/create channels (JOIN), leave channels (PART), set/view/list/clear topics (TOPIC), and list all other nicknames on the server (NAMES). 5. clients should be able to communicate with other users either directly or through channels (PRIVMSG).
  • 2. 6. clients should be able to query the server for the localtime (TIME). 7. The server process is permitted to be forcefully killed if needed. 8. Print all reply codes on all interactions to the standard output. 9. At the end of your implementation, you should be able to: Compile and run your code on a typical Linux machine(s). Include a readme file with clear compilation instructions and any additional software the grader might have to install. Run your server program first. Run one or more clients and register with the server. Create channels. Engage with other users through IRC. Exit the client(s) gracefully. 10. Heres a very basic sample interaction. The clients hostname and IP are 10.24.186.1/tgamage- 1. For the server they are 10.24.186.0/tgamage-0 Assume the servers nickname is babbage.