Write a java program using TCP that enables chatting between client and server.

 Here we create two classes ServerChat and ClientChat that utilize ServerSocket and Socket classes. Sockets use the TCP/IP protocol by default. Below is the code that performs the actual chatting:


//ServerChat.java

import java.io.*;

import java.net.*;

import java.util.Scanner;

public class ServerChat {

public static void main(String[] args) throws IOException {

//create a server socket

ServerSocket serverSocket = new ServerSocket(8000);

//listen for client request

Socket socket = serverSocket.accept();

//create data input and output streams

DataInputStream inputFromClient = new

DataInputStream(socket.getInputStream());

DataOutputStream outputToClient = new

DataOutputStream(socket.getOutputStream());

Scanner sc = new Scanner(System.in);

String msg;

while (true) {

msg = inputFromClient.readUTF();

System.out.println("Client says:" + msg);

System.out.println("(From Server) Input message to client:");

msg = sc.nextLine();

outputToClient.writeUTF(msg);

}

}

}


//ClientChat.java

import java.io.*;

import java.net.Socket;

import java.util.Scanner;

public class ClientChat {

public static void main(String[] args) throws IOException {

//create a socket to connect to the server

Socket socket = new Socket("localhost", 8000);


//create an input stream to retrieve data from the server

DataInputStream fromServer = new DataInputStream(socket.getInputStream());


//create an output stream to send data to the server

DataOutputStream toServer = new

DataOutputStream(socket.getOutputStream());

Scanner sc = new Scanner(System.in);

String msg;

while (true) {

System.out.println("(From Client)Input message to server:");

msg = sc.nextLine();

toServer.writeUTF(msg);

msg = fromServer.readUTF();

System.out.println("Server:" + msg);

}

}

}

Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

Suppose that a data warehouse consists of the three dimensions time, doctor, and patient, and the two measures count and charge, where a charge is the fee that a doctor charges a patient for a visit. a) Draw a schema diagram for the above data warehouse using one of the schemas. [star, snowflake, fact constellation] b) Starting with the base cuboid [day, doctor, patient], what specific OLAP operations should be performed in order to list the total fee collected by each doctor in 2004? c) To obtain the same list, write an SQL query assuming the data are stored in a relational database with the schema fee (day, month, year, doctor, hospital, patient, count, charge)