老师,如果想设置成服务端或客户端输入"退出"时断开连接,应该把判断加在什么地方?
在发送消息线程和接收信息线程添加都尝试过,都会出现报错,提示Socket关闭
import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class ProvedChat { public static void main(String[] args) { ServerSocket serversocket = null; Socket socket = null; Scanner scanner = null; try{ scanner = new Scanner(System.in); System.out.println("请输入:server,<port> 或 ip,<port>"); String str0 = scanner.nextLine(); String[] arr = str0.split(","); if("server".equals(arr[0])){ //启动服务端 serversocket = new ServerSocket(8888); System.out.println("服务端启动,等待连接......"); socket = serversocket.accept(); System.out.println("连接成功!"); }else{ //启动客户端 socket = new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("连接成功!"); } new ProvedSend(socket,scanner).start(); new ProvedReceive(socket).start(); }catch(Exception e){ e.printStackTrace(); }finally { try{ if(serversocket!=null){ serversocket.close(); } }catch(Exception e){ e.printStackTrace(); } } } } class ProvedSend extends Thread{ private Socket socket = null; private Scanner scanner; public ProvedSend(Socket socket,Scanner scanner) { this.socket = socket; this.scanner = scanner; } @Override public void run() { this.sendMsg(); } public void sendMsg(){ PrintWriter pw = null; try{ //向客户端发送信息的对象 pw = new PrintWriter(socket.getOutputStream()); scanner = new Scanner(System.in); //开始通信 while(true){ //发送信息 String str0 = scanner.nextLine(); pw.println(str0); pw.flush(); if("退出".equals(str0)){ break; } } }catch(Exception e){ e.printStackTrace(); }finally { try { if(socket!=null){ socket.close(); } if(pw!=null){ pw.close(); } if(scanner!=null){ scanner.close(); } }catch(Exception e){ e.printStackTrace(); } } } } class ProvedReceive extends Thread{ private Socket socket = null; public ProvedReceive(Socket socket) { this.socket = socket; } @Override public void run() { this.receiveMsg(); } public void receiveMsg(){ BufferedReader br = null; try{ //向客户端发送信息的对象 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //开始通信 while(true){ //接收信息 String str0 = br.readLine(); System.out.println("客户端:"+str0); if("退出".equals(str0)){ break; } } }catch(Exception e){ e.printStackTrace(); }finally { try { if(br!=null){ br.close(); } if(socket!=null){ socket.close(); } }catch(Exception e){ e.printStackTrace(); } } } }
老师,这里您在操作中 18 是没有加引号的,我加上引号运行以后输出的结果是一样的,那么这里 18 加引号是字符串,不加就是整数吧?
a.format("高淇","18")
老师:请问为什么类下有Computer comp的声明,还要在main方法中写Computer 呀,是因为它是引用型变量么,但是为什么String型就不用在声明呀
问题2:
老师请问这个是什么意思呀
老师启动nginx后只有两个master进程没有worker进程,此时Nginx是没办法工作的呀。为什么我的启动多了个master进程而没有worker进程呢? 我找csdn也没有找到解决方法
老师,子类在没有重写构造方法的时候不是会用父类的吗?
这个不算继承吗?
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <div class="div1">div1 <div id="div2">div2</div> </div> <span>这是span标签</span> <script> var div1=document.querySelector('.div1'); var div2=document.querySelector('#div2'); var span=document.querySelector('span'); console.log(document.body.firstChild);//#text (body后面有回车) console.log(document.body.lastChild);//script console.log(span.firstChild.nodeValue); console.log(span.innerHTML);//也可以获取到span里面的文字内容,value不可以 console.log(span.value); </script> </body> </html>
老师您好,我想我问一下这个value是只能获取input那种在网页输入的值么
console.log(span.value);
四字命令是要启动之后才能用吗,那stat不是一直都可以用吗
from flask import Flask,session,g import os app = Flask(__name__) # 2.before_request:在每次请求之前执行。通常可以用这个装饰器来给视图函数增加一些变量。 # 请求已经到达了Flask,但是还没有进入到具体的视图函数之前调用。一般这个就是在视图函数之前, # 我们可以把一些后面需要用到的数据先处理好,方便视图函数使用。 @app.route('/') def hello_world(): print('hello') session['uname'] = 'momo' return 'Hello World!' @app.route('/li') def mylist(): print("mylist") # print("直接取出",g.user) if hasattr(g,"user"): print("条件取出", g.user) return "hello world " # 场景:若用户已经登录了,验证时把用户名放入session中,之后取出来,放入钩子函数,以后访问的视图函数中可直接取出来使用 @app.before_request def before_request(): print('在视图函数执行之前执行的钩子函数') uname = session.get('uname') print(uname) if uname: g.user = uname if __name__ == '__main__': app.run(debug=True)
提示错误
这题这样搞有问题吧.................
in 的只是min(salary)的值 不是对部门和min(salary) 同时做判断 。所以其他部门员工工资即使不是该部门的最小值。但只要是其他本门的最小值 也能符合条件。也能被判断。 所以会出现按部门最小值是12条数据。这样查时时20多条,当然不排除老师说的那种情况,一个部门好几人最低工资。,但是只要把部门显示出来就能发现,就会有部门相同工资不同的人出现。
楼下也有人有这样的问题。。。。。。老师在一本正经的嗯嗯嗯....
老师我打开cfg文件是这样的,没有default
老师我这是什么原因?
老师,您好,我建的包结构如下:
然后我按照视频里的操作在 b 的子包 aa 下的 __init.py 文件里写了图片右边的代码。代码如下:
#coding=utf-8 import turtle import math print('眼睛干干的有想哭的心情!')
1、在包 a 的 moudle_A.py 文件里写了如下代码:
import b
单击运行,结果没有报错,但是也没有打印‘眼睛干干的有想哭的心情’这句话。运行结果如下所示:
2、在包 a 的 moudle_A.py 文件里写了如下代码:
import b.aa
单击运行,能打印出‘眼睛干干的有想哭的心情’这句话。运行结果如下:
问题:
按照视频中的操作的话应该在写 ”import b“就能打印那句话,请问老师这是为什么?
那为什么不更新一下新的视频用新的版本的jQuery
老师 这些课程也不知道听没听懂,不知道在听啥,感觉听懂了又没听懂,怎么学啊
老师我的哪里出现错误了呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637