A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 明光照 中级黑马   /  2012-9-25 20:03  /  1440 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是我写的网络的代码。我不明白为什么彼此写的内容不能在对边显示
import java.io.*;
import java.net.*;
public class TCPServer1 {
public static void main(String args[]) throws Exception {
  ServerSocket server = new ServerSocket(8888);
  Socket socket = null;
  while (true) {
   socket = server.accept();
   InputStream is = socket.getInputStream();
   OutputStream os = socket.getOutputStream();
   // BufferedReader br = new BufferedReader(new
   // InputStreamReader(is));
   DataInputStream dis = new DataInputStream(is);
   BufferedReader sin = new BufferedReader(new InputStreamReader(
     System.in));//从键盘上输入数据
   DataOutputStream dos = new DataOutputStream(os);
   String line = "hello world";
   String readLine = "sorry Client";
   System.out.println("Server:" + dis.readUTF());
   readLine = sin.readLine();
   while (!readLine.equals("bye")) {
   
    dos.writeUTF(readLine);
    dos.flush();
    System.out.println("Server" + readLine);
    System.out.println("Client" + dis.readUTF());
    readLine = sin.readLine();
   }
  }
}
}
import java.io.*;
import java.net.*;
public class TCPClient1 {
public static void main(String args[]) throws Exception {
  Socket socket = new Socket("127.0.0.1", 8888);
  InputStream is = socket.getInputStream();
  OutputStream os = socket.getOutputStream();
  BufferedReader sin = new BufferedReader(
    new InputStreamReader(System.in));// 从键盘上输入数据
  PrintWriter pw = new PrintWriter(os);
  BufferedReader br = new BufferedReader(new InputStreamReader(is));
  String readLine = sin.readLine();
  while (!readLine.equals("bye")) {
   pw.println(readLine);
   pw.flush();
   System.out.println("Server:" + br.readLine());
   readLine = sin.readLine();
  }
  pw.close();
  br.close();
  socket.close();
}
}还请各位大神帮忙啊

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
import java.io.*;
import java.net.*;
public class TCPServer1 {
public static void main(String args[]) throws Exception {
   ServerSocket server = new ServerSocket(8888);
   Socket socket = null;
   while (true) {
    socket = server.accept();
    InputStream is = socket.getInputStream();
    OutputStream os = socket.getOutputStream();
    // BufferedReader br = new BufferedReader(new
    // InputStreamReader(is));
    DataInputStream dis = new DataInputStream(is);
    BufferedReader sin = new BufferedReader(new InputStreamReader(
      System.in));//从键盘上输入数据
    DataOutputStream dos = new DataOutputStream(os);
    String line = "hello world";
    String readLine = "sorry Client";
    System.out.println("Server:" + dis.readUTF());
    readLine = sin.readLine();
    while (!readLine.equals("bye")) {
     
    dos.writeUTF(readLine);
     dos.flush();
     System.out.println("Server" + readLine);
     System.out.println("Client" + dis.readUTF());
     readLine = sin.readLine();
    }
   }
}
}
import java.io.*;
import java.net.*;
public class TCPClient1 {
public static void main(String args[]) throws Exception {
   Socket socket = new Socket("127.0.0.1", 8888);
   InputStream is = socket.getInputStream();
   OutputStream os = socket.getOutputStream();
   BufferedReader sin = new BufferedReader(
     new InputStreamReader(System.in));// 从键盘上输入数据
   PrintWriter pw = new PrintWriter(os);----------------------------------------------------问题出在这里了,你还没有输入内容,就已经把内容输出了,应该吧它放到while循环后
   BufferedReader br = new BufferedReader(new InputStreamReader(is));
   String readLine = sin.readLine();
   while (!readLine.equals("bye")) {
    pw.println(readLine);
    pw.flush();
    System.out.println("Server:" + br.readLine());
    readLine = sin.readLine();
   }
   pw.close();
   br.close();
   socket.close();
}
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你先打开TCPServer1 在打开TCPClient1
回复 使用道具 举报
覃宏海 发表于 2012-9-25 20:06
import java.io.*;
import java.net.*;
public class TCPServer1 {

这是一个循环等待的代码。放在while后面没意义啊

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
尤圣回 发表于 2012-9-25 20:07
你先打开TCPServer1 在打开TCPClient1

我是这样打开的啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马