package com.xhcxy; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; 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; /** * 发送消息的线程Send1 */ class Send1 extends Thread{ private Socket socket; private Scanner scanner; public Send1(Socket socket,Scanner scanner){ this.socket = socket; this.scanner = scanner; } @Override public void run() { this.send1Mgs(); } public void send1Mgs(){ Scanner scanner = null; PrintWriter pw = null; try { scanner = new Scanner(System.in); pw = new PrintWriter(this.socket.getOutputStream()); while (true){ String mgs = scanner.nextLine(); pw.println(mgs); pw.flush(); } }catch (Exception e){ e.printStackTrace(); }finally { if (scanner !=null){ scanner.close(); } if (pw != null){ pw.close(); } if (this.socket != null){ try { this.socket .close(); } catch (IOException e) { e.printStackTrace(); } } } } } /** * 接收消息的线程Receive1 */ class Receive1 extends Thread{ private Socket socket; public Receive1(Socket socket){ this.socket = socket; } @Override public void run() { super.run(); } public void receive1Mgs(){ BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(this.socket.getInputStream())); while (true){ String mgs = br.readLine(); System.out.println("他说:"+mgs); } }catch (Exception e){ e.printStackTrace(); }finally { if (br != null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (this.socket != null){ try { this.socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } public class GoodTcp { public static void main(String[] args) { Scanner scanner = null; ServerSocket serverSocket = null; Socket socket = null; try { scanner = new Scanner(System.in); System.out.println("请输入:server,<port>或者:<ip>,<port>"); String str = scanner.nextLine(); String[] arr = str.split(","); if ("server".equals(arr[0])){ System.out.println("TCP Server Listen at"+arr[1]+"......"); serverSocket = new ServerSocket(Integer.parseInt(arr[1])); serverSocket.accept(); System.out.println("连接成功!!"); }else { socket = new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("连接成功!!"); } new Send1(socket,scanner).start(); new Reaceice(socket).start(); }catch (Exception e){ e.printStackTrace(); }finally { if (serverSocket != null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
为什么会链接成功报错,老师
杜老师,为什么我最后遍历的集合为空呢,麻烦您帮忙看一下我最后画箭头的地方
HomeWorkReflection.rar
老师这里的泛型为什么要用Integer不用int呢
老师,这里name.equals(this.list.get(i)) 不是已经找到相同的姓名了。后面为什么要加一个 getName 呢?
() { TelNoteRegex telNoteRegex=TelNoteRegex()String name=telNoteRegex.nameValidate()flag=(i=i<..size()i++){ (name.equals(..get(i).getName())){ System..println(..get(i))flag=} (){ System..println()} }
捕获.PNG
老师请问我这个是什么问题啊 server.xml端口也没改
public void mothod(T...args){ for (T t:args) { System.out.println(t); } 老师给解释一下这个T...args和t:args,看不懂
我发现我听不懂源码
请问老师,为什么说ArrayList 和LinkList 是物理结构呢,这两个集合是计算机存储器的存储形式吗
老师,为什么用String没有问题,用Integer就不行了呢
package com.bjsxt; import java.util.List; import java.util.Stack; public class StackTest { public static void main(String[] args) { List<Integer> list = new Stack<>(); list.push(111); System.out.println(list.Empty()); System.out.println(list.peek()); } }
它这些方法都报错了
老师,这里是直接在new对象的同时调用value方法吗?
老师,这个API帮助文档可以发给我吗
老师我敲的为啥第二行有个警告,鼠标移过去,没显示其他提示
_——————————————
老师如果程序不关闭流会怎么样?也没什么影响啊
只要链接就报错:
请输入:server,<port>或者:<ip>,<port>
192.168.174.1,8888
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at cxh.InetTest.GoodTCP.main(GoodTCP.java:122)
//发送消息线程 class Send1 extends Thread{ private Socket socket; private Scanner scanner; public Send1(Socket socket,Scanner scanner) { this.socket = socket; this.scanner = scanner; } public void run(){ this.sendMsg(); } //发送消息 public void sendMsg(){ PrintWriter pw = null; try{ //创建Scanner对象 scanner = new Scanner(System.in); //创建向对方输出消息的流对象 pw = new PrintWriter(this.socket.getOutputStream()); //发送消息 while (true){ String msg = scanner.nextLine(); pw.println(msg); pw.flush(); } }catch (Exception e){ e.printStackTrace(); }finally { if(scanner != null){ scanner.close(); } if(pw != null){ pw.close(); } if(this.socket != null){ try { this.socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } /* * 接收消息的线程 * */ class Receive1 extends Thread{ private Socket socket; public Receive1(Socket socket){ this.socket = socket; } public void run() { this.receiveMsg(); } /* * 用于接收对方的消息 * */ private void receiveMsg(){ BufferedReader br = null; try{ //创建用于接收对方发送消息的流对象 br = new BufferedReader(new InputStreamReader(this.socket.getInputStream())); while (true){ String msg = br.readLine(); System.out.println("他说:"+msg); } }catch (Exception e){ e.printStackTrace(); }finally { if(br != null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } if(this.socket != null){ try { this.socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } } public class GoodTCP { public static void main(String[] args) { Scanner scanner = null; ServerSocket serverSocket = null; Socket socket = null; try{ scanner = new Scanner(System.in); System.out.println("请输入:server,<port>或者:<ip>,<port>"); String str = scanner.nextLine(); String[] arr = str.split(","); if("server".equals(arr[0])){ //启动服务端 System.out.println("TCP Server Listen at"+arr[1]+"........"); serverSocket = new ServerSocket(Integer.parseInt(arr[1])); socket = serverSocket.accept(); System.out.println("链接成功!"); }else { //启动客户端 socket = new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("链接成功!"); } //启动发送消息的线程 new Send1(socket,scanner).start(); //启动接收消息的线程 new Receive1(socket).start(); }catch (Exception e){ e.printStackTrace(); }finally { if(serverSocket != null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
老师,判断是否让步的if语句条件可以写成
if("Thread-0".equals(Thread.currentThread().getName()) && i == 0)
这样写可以吗
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637