我的消息如果在同一侧重复,而不是在另一侧(客户端/服务器)发送或接收,我的代码有什么问题?

问题描述 投票:0回答:0

如果我的消息在同一侧重复,而不是在另一侧(客户端/服务器)发送或接收,我的代码有什么问题?我在同一台机器或本地主机上同时使用客户端和服务器端。

我使用了处于等待状态的端口,现在我不知道为什么它不工作。

请忽略以下几行,因为堆栈溢出迫使我添加更多细节,我从字面上描述了一切。

s s jsd jvjdbvjkdsvbjkdsvbbbbbbbbbbbbbbbbbbbbbbbbbbbbkjvbkjsdbvkjbvkjbdvksvjbsvbjdkvjksdv

jbvhsdvsbdvjksdbvjksbvjkdsbvjsbvsjbvsdv d v vm vjsdsjvbjsdbjsbnkwdwiotiqwtoqw6736g3 fn enkdlvdsv

uifuhywetyutef e77y32uijwf bewuifuwfbjewkbfkwbjweyiu beguieguibvkjbevkehvuiev hujnjnnn)

这是我的服务器端代码:

import java.net.*; import java.io.*; import static java.lang.System.out; public class Server { ServerSocket server; Socket socket; BufferedReader b; PrintWriter p; public Server() { try { server = new ServerSocket("my port no."); System.out.println("bdwdhwbdh"); System.out.println("Server is ready...send connection request..."); socket = server.accept(); b = new BufferedReader(new InputStreamReader(socket.getInputStream())); p = new PrintWriter(socket.getOutputStream()); startReading(); startWriting(); } catch (Exception e) { e.printStackTrace(); } } public void startReading() { Runnable r = () -> { System.out.println("reader started"); String container; while (true) { try { container = b.readLine(); if (container.equals("overandout")) { System.out.println("client terminated the session..."); break; } System.out.println("client : " + container); } catch (IOException e) { e.printStackTrace(); } } }; new Thread(r).start(); } public void startWriting() { Runnable w = () -> { System.out.println("writer started..."); while (true) { try { BufferedReader w1 = new BufferedReader(new InputStreamReader(System.in)); String container = w1.readLine(); out.println(container); out.flush(); } catch (Exception e) { e.printStackTrace(); } } }; new Thread(w).start(); } public static void main(String[] args) throws IOException { System.out.println("server started..."); new Server(); } } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ this is my client side code: import java.io.BufferedReader; import java.net.*; import java.io.*; import static java.lang.System.out; public class Client { Socket s; BufferedReader b; PrintWriter p; public Client() { try { System.out.println("sending request to the server..."); s = new Socket("my local ip address", "my port no"); System.out.println("connection done"); b = new BufferedReader(new InputStreamReader(s.getInputStream())); p = new PrintWriter(s.getOutputStream()); startReading(); startWriting(); } catch (Exception e) { e.printStackTrace(); } } public void startReading() { Runnable r = () -> { System.out.println("reader started"); String container; while (true) { try { container = b.readLine(); if (container.equals("overandout")) { System.out.println("server terminated the session..."); break; } System.out.println("server : " + container); } catch (IOException e) { e.printStackTrace(); } } }; new Thread(r).start(); } public void startWriting() { Runnable w = () -> { System.out.println("writer started..."); while (true) { try { BufferedReader w1 = new BufferedReader(new InputStreamReader(System.in)); String container = w1.readLine(); out.println(container); out.flush(); } catch (Exception e) { e.printStackTrace(); } } }; new Thread(w).start(); } public static void main(String[] args) { new Client(); } } }
    
java sockets websocket serversocket
© www.soinside.com 2019 - 2024. All rights reserved.