永发信息网

java 实现2个人对话问题

答案:2  悬赏:20  手机版
解决时间 2021-05-13 17:35

package ambow;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class Server {

 
 public static void main(String[] args) {
  try {
   ServerSocket ss = new ServerSocket(1234);
   Socket sk = ss.accept();

   BufferedReader du = new BufferedReader
   (new InputStreamReader(sk
     .getInputStream()));
   PrintWriter xie = new PrintWriter(sk.getOutputStream()
     , true);
   
   Scanner inputs = new Scanner(System.in);
   String s = "";
   while (true) {
    s = du.readLine();
    if (s.equals("exit")) {
     xie.println(s);
     System.out.println("结束");
     du.close();
     xie.close();
     sk.close();
     break;
    }
    System.out.println("提问:" + s + "\n回答:");
    xie.println(inputs.next());
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }
}
上面是服务端↑。。。

 

package ambow;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class Text2 {
 public static void main(String[] args) {

  try {
   Socket sk1 = new Socket("pc43", 1234);
   BufferedReader du1 = new BufferedReader(new InputStreamReader(sk1
     .getInputStream()));

   PrintWriter xie1 = new PrintWriter(sk1.getOutputStream(), true);
   Scanner input1 = new Scanner(System.in);
   String str = "";
   while (true) {
    System.out.println("提问:");
    xie1.println(input1.next());
    str = du1.readLine();
    if (str.equals("exit")) {

     xie1.close();
     du1.close();
     sk1.close();
     break;
    }
    System.out.println("回答:" + str);
 
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

}
上面是客户端↑

 

 

客户端里面xie1.println(input1.next());这句到底是什么意思 怎么把客户端的传到服务端,服务端的信息又怎么返回客户端?

 

 

最佳答案
xie1.println(input1.next()) 把从服务器上的内容读取下来,如果有下一个则继续读取
首先建立服务器 给个端口和服务器名字 提供连接 如上面你写的那样 给他提供一个读取和写入的方法 把这些数据通过 sk1.getOutputStream() 进行输出
在客户端 获取这个连接 就可以了给他也提供也个读取和写入的方法
就是客户端写入数据 服务器进行输出
服务器写入 客户端对它进行输出
大概是这么回事

全部回答
import java.io.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class incomingtax { private Shell sShell = null; // 创建各类可视化组件 private Button button = null; private Text text = null; private Label label = null; private Text textArea = null; private Label label1 = null; private Button button1 = null; private Text textArea1 = null; private Label label2 = null; private Label label3 = null; private static final String NEW_LINE = System.getProperty("line.separator"); //静态的String,字符分割 private boolean hasChanged = false; //定义一个boolean变量,当文本被更改时为ture private void createSShell() { //创建窗体及定义各种方法 sShell = new Shell(SWT.BORDER | SWT.SHELL_TRIM | SWT.PRIMARY_MODAL); button = new Button(sShell, SWT.NONE); text = new Text(sShell, SWT.BORDER); label = new Label(sShell, SWT.CENTER); textArea = new Text(sShell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.BORDER); label1 = new Label(sShell, SWT.CENTER); button1 = new Button(sShell, SWT.NONE); textArea1 = new Text(sShell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.BORDER); label2 = new Label(sShell, SWT.CENTER); label3 = new Label(sShell, SWT.CENTER); button.setBounds(new org.eclipse.swt.graphics.Rectangle(232,153,54,35)); button.setText("Open"); text.setBounds(new org.eclipse.swt.graphics.Rectangle(223,80,72,20)); label.setBounds(new org.eclipse.swt.graphics.Rectangle(203,45,110,26)); label.setText("TAX FREE"); textArea.setBounds(new org.eclipse.swt.graphics.Rectangle(5,39,169,341)); label1.setBounds(new org.eclipse.swt.graphics.Rectangle(347,4,119,15)); label1.setText("TAXABLE
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ拼音怎么出现这个?
QQ牧场可以不用钱就进吗
VB6.0实现从txt中自动搜索文本
富拉尔基区申通快递(富拉尔基分公司)在哪里啊
男人应该怎样疼爱关心自己心爱的女人…
怎么才能把DNF的刀加上13.
关于关注和选择的名言,描述选择的句子
如果一个家庭每个月少用一吨水,可以采用哪些
成均馆绯闻06集中文字幕在线观看 成均馆绯闻0
杞县雅美轩美容养生会所怎么去啊,谁知道地址
关于诺基亚E63下载软件问题
有没有明星是富二代的?
阿里语句排序,2014年公务员考试行测技巧:三
谁能告诉我有关名侦探柯南的音乐
《天堂2》好玩吗
推荐资讯
摩尔庄园谁能给我几个虫虫营养汤汁???
晚上作春梦好吗,为什么会**?
形容做不到承诺的句子,承诺不要轻易下。这句
息县纯纯饰品地址有谁知道?有点事想过去
请教,如何在excel下自动保存并通过office 的
怎样测试一个男生对自己真不真心?
成都到温州有没有直达 客车火车都可以
谁能邀请我开通QQ空间里面的餐厅!!
谁能给我一些迈克尔杰克逊唱的比较好听的一些
靓点发型设计这个地址在什么地方,我要处理点
季节作文开头的好句子,感悟美好作文开头优美
前进区东坡肉包在哪里啊,我有事要去这里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?