Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Потребно е да се симулира TCP/IP конекција и комуникација меѓу клиент-сервер.
- За таа цел, потребно е да креирате две апликации, TCPServer, која ке се извршува на порта 9876 и ќе игра улога на сервер, и TCP Client која ќе се поврзе со серверот и ке му праќа пораки.
- Пораките што треба да ги прати TCPClient се следни, и се праќаат во ист редослед како што е дадено:
- 1.25 (Double) 123584124 (Long) true (boolean) "UTF String" (String)
- TCPServer ја очекува истата секвенца на пораки, во ист редослед, и како што ги добива пораките, ги печати на екран.
- _Напомена_: Користете соодветни стримови за пишување/читање на примитивни типови*
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.net.InetAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.Scanner;
- class TCPServer {
- private ServerSocket server;
- public TCPServer() {
- try {
- server = new ServerSocket(9876);
- }
- catch(IOException e) {
- e.printStackTrace();
- }
- }
- public void receiveData() throws IOException {
- Thread client = new Thread(new TCPClient(InetAddress.getByName("localhost"),9876));
- client.start();
- Socket client2 = server.accept();
- try {
- client.join();
- }
- catch(InterruptedException e) {
- e.printStackTrace();
- }
- DataInputStream getData = new DataInputStream(client2.getInputStream());
- System.out.println(getData.readDouble());
- System.out.println(getData.readLong());
- System.out.println(getData.readBoolean());
- System.out.println(getData.readUTF());
- getData.close();
- }
- public void close() throws IOException {
- // TODO Auto-generated method stub
- this.server.close();
- }
- }
- class TCPClient implements Runnable {
- private Socket socket;
- private Scanner scanner;
- public TCPClient(InetAddress serverAddress, int serverPort) throws IOException {
- this.socket = new Socket(serverAddress,serverPort);
- this.scanner = new Scanner(System.in);
- }
- public void start() throws IOException{
- DataOutputStream server = new DataOutputStream(socket.getOutputStream());
- server.writeDouble(1.25);
- server.writeLong(123584124);
- server.writeBoolean(true);
- server.writeUTF("UTF String");
- server.close();
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- try {
- start();
- }
- catch(IOException e) {
- e.printStackTrace();
- }
- }
- }
- public class HW01_5 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- TCPServer server = new TCPServer();
- try {
- server.receiveData();
- server.close();
- }
- catch(IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement