python socket.listen(5)的问题

各位大神好,萌新在看各类python书籍时总是能看到这句代码,理解起来也很费劲,都说一般应用传5就够用了。百度上也都是说在连接被转接或拒绝时传入连接请求的最大数,超过这个值就拒绝了。仔细揣摩过几遍,还是理解不了。像做云平台的,同时可能有上万客户端同一时刻连接进来,难道只能每次接受5个用户么?其他的拒绝连接是不给连接,需要客户端重新请求?

5个回答

你理解的没啥大问题。

这个参数指定是**等待队列**的长度。

也就是如果系统可以并发处理100个请求,同时到达106个请求,100个请求直接被处理,5个等待,第106个直接就拒绝。

上万个请求进来,系统不是每次接受5个用户,而是可以让5个用户等待,系统每次接受的用户取决于系统吞吐量。

而且一般应用传5就够了,一万个并发的应用显然也不是一般应用了

Python的没有研究过,但是在c中,指的是服务器端可建立连接的客户端的队列长度,表示服务器已经经历的两次握手等待accept 系统调用,在linux高性能服务器编程一书中提到,现在这个backlog 只是给kernel 的一个建议值,实际上是可以稍大一点。如果我没有记错的话是这么描述的

书中是这样描述上面这个例子的: 尽管这个也可以工作, 但是它不能抵御有人试图通过创建大量线程让你服务器资源枯竭而崩溃的攻击行为。

之前因工作需要有研究过,或许对你有用:https://www.jianshu.com/p/7fde92785056

Python的没有研究过,但是在c中,指的是服务器端可建立连接的客户端的队列长度,表示服务器已经经历的两次握手等待accept 系统调用,在linux高性能服务器编程一书中提到实际上是可以稍大一点。如果我没有记错的话是这么描述的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python 嗅探器报错[Errno 10013]

import socket import os host = "192.168.10.147" if os.name == 'nt': socket_protocol = socket.IPPROTO_IP else: socket_protocol = socket.IPPROTO_ICMP sniffer = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket_protocol) sniffer.bind((host,9999)) sniffer.setsockopt(socket.IPPROTO_IP,socket.IP_HDRINCL, 1)_ if os.name == "nt": sniffer.ioctl(socket.SIO_RCVALL,socket.RCVALL_ON) print sniffer.recvfrom(65565) if os.name == 'nt': sniffer.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF) 运行结果: Traceback (most recent call last): 0 File "C:/Users/Think/PycharmProjects/Test/sniffer.py", line 10, in <module> sniffer = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket_protocol) File "C:\Python27\lib\socket.py", line 191, in __init__ _sock = _realsocket(family, type, proto) socket.error: [Errno 10013] An attempt was made to access a socket in a way forbidden by its access permissions 不是端口的问题,在获取sniffer实例的时候就已经异常了。是操作权限的问题吗?

Golang net.Listen绑定到已使用的端口

<div class="post-text" itemprop="text"> <p>Port 8888 is already bound on my (OS X 10.13.5) system, by a process running inside a docker container:</p> <pre><code>$ netstat -an | grep 8888 tcp6 0 0 ::1.8888 *.* LISTEN tcp4 0 0 *.8888 *.* LISTEN </code></pre> <p>A python program which tries to bind to that port (using as close to the socket options of golang as I can manage), fails in the way I expect:</p> <pre class="lang-python prettyprint-override"><code>import socket import fcntl import os def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) flag = fcntl.fcntl(sock.fileno(), fcntl.F_GETFL) fcntl.fcntl(sock.fileno(), fcntl.F_SETFL, flag | os.O_NONBLOCK) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.bind(("0.0.0.0", 8888)) sock.listen(5) main() </code></pre> <p>fails with:</p> <pre><code>$ python test.py Traceback (most recent call last): File "test.py", line 15, in &lt;module&gt; main() File "test.py", line 11, in main sock.bind(("0.0.0.0", 8888)) OSError: [Errno 48] Address already in use </code></pre> <p>But a go program creating a connection via <code>net.Listen</code> does not fail, as I expect it to:</p> <pre><code>package main import ( "fmt" "net" ) func main() { _, err := net.Listen("tcp", "0.0.0.0:8888") if err != nil { fmt.Printf("Connection error: %s ", err) } else { fmt.Println("Listening") } } </code></pre> <p>Succeeds with:</p> <pre><code>$ go run test.go Listening </code></pre> <p>A coworker reports that with the same setup, his Ubuntu system correctly fails the go program.</p> <p>Why does this succeed on a Mac, and how can I get the net.Listen to show an error in binding to port 8888?</p> <p>edit: If I occupy port 8888 with a simple go program like:</p> <pre><code>package main import ( "log" "net/http" ) func main() { log.Fatal(http.ListenAndServe("0.0.0.0:8888", nil)) } </code></pre> <p>Then <code>test.go</code> correctly fails to bind to the port. However the docker process (which is running basically that ^^^) does not cause it to fail.</p> <p>edit 2: If I specify "tcp4", then the program does indeed fail as I expect. If I specify "tcp6", it succeeds but netstat says it binds to <code>*</code> instead of <code>::1</code>:</p> <pre><code>$ netstat -an | grep 8888 tcp6 0 0 *.8888 *.* LISTEN tcp6 0 0 ::1.8888 *.* LISTEN tcp4 0 0 *.8888 *.* LISTEN </code></pre> <p>So, specifying "tcp4" will solve my actual problem, but I really want to understand what the heck is going on with the "tcp46" connection type, and I can't find any documentation. Help!</p> </div>

python关于套接字通信的问题,本地套接字无法connect到公网listen的端口

工作遇到一个套接字(内网)无法connect上一台公网服务器listen的端口 简化代码为 client:内网 ``` import socket conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) conn.connect(('打个码', 4444)) data = conn.recv(1024) print(data) conn.close() ``` server:公网 ``` import socket listen = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listen.bind(('0.0.0.0', 4444)) listen.listen(10) while 1: server = listen.accept() print(server[1]) server[0].send(bytes('123'.encode())) ``` client抛出异常: TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 测试两台公网,一台linux,一台windows,均抛出同样异常。 可以确定的是: 在本地测试server和client是能连通的。 我临时关闭linux的防火墙以及本机防火墙也是同样异常。 可ping通公网(我都拿shell连接了……),telnet指定其端口连接不可达。 抓包发现,只有本地发出了三个SYN包,没有来自公网服务器的应答包。(服务器的不敢乱装抓包工具啊,防火墙能让我临时关下已经不错了,亲) 真心感谢各位大佬解答。

[已解决]python3环境下出现socket.gaierror: [Errno 10109] getaddrinfo failed

没有相关的解答,不知道这个是什么问题,突然就发生了。报错位置是我的监听端口的位置 ``` http_server = httpserver.HTTPServer(application) http_server.listen(port) #监听端口 ioloop.IOLoop.current().start() ``` 之前这样写都好好的,但最近突然发生这个错误,网上没有相关资料。 python版本:3.6.4 框架:tornado ------ 后续[1] 尝试了一些论坛和问答提供的方法,但还是不行,我经过测试初步断定与代码无关,位于香港、福建的机子上才会出现这个报错,我们广州的服务器没有这个报错,四川的也没有,估计是地区DNS出问题了 ------ ------ 后续[解决问题] 昨天下午终于找到问题原因,原因是顶部打开文件的时候我加了编码控制,指定了UTF-8编码,由于一些原因影响到了底部监听代码的post变量,改变了编码导致无法获取本地端口信息

新手关于python socket编程的一些疑问。。。。

先上代码 服务端代码 ``` import socket def start_server(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = "" port = 6666 address = (host, port) s.bind(address) s.listen(3) conn, temp = s.accept() conn.send("welcome to my server") #问题在这里,如果客户端没有recv上边服务器发送的welcome to my server,再调用recv就会出错 msg = conn.recv(1024) print "msg = ", msg conn.close() s.close() if __name__ == "__main__": start_server() ``` 服务端代码非常简单 然后上客户端代码(先上没问题的) ``` import socket def start_client(): conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname() port = 6666 address = (host, port) conn.connect(address) print "-----------" print conn.recv(1024) #############注释error####### conn.close() if __name__ == "__main__": start_client() ``` 这样子先开服务端,再开客户端是没问题的。 这时问题来了。如果我把客户端的conn.recv(1024)注释掉,当客户端代码跑完,服务端就会有问题了。 服务端出错提示如下: Traceback (most recent call last): File "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\dropins\pydev\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py", line 1346, in <module> debugger.run(setup['file'], None, None) File "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\dropins\pydev\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py", line 1060, in run pydev_imports.execfile(file, globals, locals) #execute the script File "E:\pythonCode\server.py", line 31, in <module> start_server() File "E:\pythonCode\server.py", line 24, in start_server msg = conn.recv(1024) socket.error: [Errno 10053] 是什么问题呢? 我想了很久,也试过好多测试代码,发觉如果建立连接后,在一端A,先发送一些数据,如果B端没有recv,且当B端连接close的时候。A端因为阻塞在recv部分的代码不是如约的得到空字符串,而是出现了这个报错。我的问题是python写socket编程必须send,recv一一对应使用么??? 刚开始学,各位大牛指导下啊

Python3 socket 编写全双工通信遇到问题

#服务器 ``` import socket import select import sys HOST = '' # Symbolic name meaning all available interfaces PORT = 5007 # Arbitrary non-privileged port BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSer = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcpSer.bind(ADDR) tcpSer.listen(1) inputs = [tcpSer, sys.stdin] while True: print('Waiting for connection') tcpCli, addr = tcpSer.accept() print('...connected from:', addr) inputs.append(tcpCli) readable, writable, exceptional = select.select(inputs, [], []) while True: for indata in readable: if indata is tcpCli: data = tcpCli.recv(BUFSIZ) if not data: break print('message received:', data.decode()) else: message = input('>') tcpCli.send(message.encode('utf-8')) tcpCli.close() tcpSer.close() ``` #客户端 ``` import socket import select import sys HOST = '172.23.214.95' # The remote host PORT = 5007 # The same port as used by the server BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcpSock.connect(ADDR) while True: readable, writable, exceptional = select.select([tcpSock, sys.stdin], [], []) for indata in readable: if indata is tcpSock: message = tcpSock.recv(BUFSIZ) if not message: break print('Message received:', message.decode('utf-8')) else: message = input('>') if not message: break tcpSock.send(message.encode('utf-8')) tcpSock.close() ``` 运行报错: Traceback (most recent call last): File "E:/Python project/Python_Study/Client01.py", line 14, in <module> readable, writable, exceptional = select.select([tcpSock, sys.stdin], [], []) OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。

python中socket的端口重用。网上的解决方法不行!

```python server = socket(AF_INET, SOCK_STREAM) print 'server is ok!' server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) print 'setsockopt is ok!' server.bind(add) print 'bind is ok!' server.listen(10) print 'listen is ok!' ``` 还是会报错。 socket.error: [Errno 98] Address already in use

这是一个关于python的socket问题

service ``` import socket quest=socket.socket(socket.AF_INET,socket.SOCK_STREAM) quest.bind(('127.0.0.1',66)) quest.listen(2) tao,en=quest.accept(); tao.send('hellow 成功'.encode()) a=tao.recv(100) print(a.decode()) tao.close() quest.close() ``` quest ``` import socket quest=socket.socket(socket.AF_INET,socket.SOCK_STREAM) quest.connect(('127.0.0.1',66)) quest.send(input().encode()) quest.recv(1000) quest.close() ``` 这是我写的两段代码,分别是客户端和服务器的。 我很奇怪一个事情,就是 我感觉 一方先send信息后,另外一方先recv信息才对 。因为程序是顺序执行的嘛。 可是我把两个代码send语句都放在recv语句之前,为啥还能成功呢

python TCP服务端接受数据时recv函数非阻塞究竟如何实现?

这是TCP服务端代码: ``` import socket import threading s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('127.0.0.1', 9998)) s.listen(5) print('Waiting for connection') def tcplink(sock, addr): print('Accept new connection from %s:%s...' % addr) sock.send(b'Welcome!') buffer = [] while True: #接受数据时就卡在这里了 d = sock.recv(1024) if not d: break else: buffer.append(d) sock.send('get it!'.encode('utf-8')) print((b''.join(buffer)).decode('utf-8')) sock.close() print('Connection from %s:%s closed.' % addr) while True: sock, addr = s.accept() t = threading.Thread(target=tcplink, args=(sock, addr)) t.start() ``` 客户端代码: ``` import socket s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.send(b'nihao') buffer = [] while True: d = s.recv(1024) if not d: break else: buffer.append(d) data = b''.join(buffer) s.close() print(data.decode('utf-8')) ``` 上网查了很多方式比如settimeout,MSG_DONTWAIT,都失败了,如何修改代码才能正常接受数据呢?求详细一点的说明,谢谢!

p用python实现socket通信,多客户端接入,服务器与客户端交互数据

最近在学习socket通信,用python编程,初学者。 目标是:实现多个客户端与一个服务端通信,客户端会间断发送信息(例如每隔0.2s一发送),服务器可以同时接受多个客户端信息,并处理其中一个客户端的信息将处理后的信息分发送给其余客户端 ### 我自己做了一个小的程序,但是报错,请大神纠正 ####服务器端程序: ``` #!/usr/bin/env python #coding:utf-8 import threading import socket import time import sys server = socket.socket() server.bind(('192.168.3.79', 9999)) server.listen(6) socks = [None]*6 print('服务器准备好了') # print('请输入目标点坐标') # x = input('x方向坐标:') # y = input('y方向坐标:') #print('接入{}个客户端准备'.format(num)) print("可以发送控制数据了") def Threader(conn): conn.send('已经建立连接'.encode()) time.sleep(0.2) data = conn.recv(1024) if not data: conn.close() if __name__ == '__main__': while True: conn,addr = server.accept() print ('Connect by ',conn) socks.append(conn) t = threading.Thread(target=Threader,args=(conn,)) t.start() ``` ####客户端程序 ``` #!/usr/bin/env python # coding=utf-8 import socket,sys import time client = socket.socket() client.connect(('192.168.3.79',9999)) client.send('hihi I am client') time.sleep(0.5) data=client.recv(1024) print('the data received is\n ',data ) ``` 结果是只能有一个客户端连入,另外一个连不进去 错误提示如下: ![图片说明](https://img-ask.csdn.net/upload/201904/24/1556073472_952741.png) #求大神帮忙修正,不胜gan'ji

python为什么 用 浏览器 连接不上我的socket服务端。

import socket def main(): sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sk.bind(("127.0.0.1",8000)) sk.listen(5) while True: conn,addr = sk.accept() conn.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n", "utf8")) conn.sendall("hello".encode("utf8")) conn.close() if __name__ == "__main__": main() 在浏览器输入 ip端口为啥 连接不到、

python socket编码,server端无法被connected

import socket import sys HOST = '192.168.5.68' # Symbolic name meaning all available interfaces PORT = 8888 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(10) print('Socket now listening') conn, addr = s.accept() print('Connected with ' + addr[0] + ':' + str(addr[1])) 在另外一台电脑上,用客户端就是连接不上,高手帮忙看看代码是否有问题?

python ssl客户端认证

server端 ``` # coding:utf-8 from __future__ import absolute_import, division, print_function, with_statement import socket, ssl import os import tornado.tcpserver from tornado.ioloop import IOLoop import tornado.gen ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ssl_ctx.load_cert_chain("/keys/server.crt", "/keys/server.key") ssl_ctx.load_verify_locations("keys/ca.crt") ssl_ctx.verify_mode = ssl.CERT_REQUIRED class A(tornado.tcpserver.TCPServer): def handle_stream(self, stream, address): self.run(stream) @tornado.gen.coroutine def run(self, stream): body = yield stream.read_bytes(111110, partial=True) print(body) def main(): server = A(ssl_options=ssl_ctx) server.listen(6030, '') io_loop = IOLoop.current() io_loop.add_callback(main) io_loop.start() ``` client端 ``` # coding:utf-8 import socket, ssl, pprint import os s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ssl_ctx.load_cert_chain("keys/server.crt","keys/server.key") ssl_sock = ssl_ctx.wrap_socket(s) ssl_sock.connect(('localhost', 6030)) print repr(ssl_sock.getpeername()) print ssl_sock.cipher() print pprint.pformat(ssl_sock.getpeercert()) ssl_sock.write("boo!") ``` 运行后 服务器端报错 [SSL: NO_CERTIFICATE_RETURNED] no certificate returned (_ssl.c:590) 客户端也报错 [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:590) 我想做的是ssl双向认证

关于把socket数据写入数据库的问题

我的思路是这样的,之前的想法是:把接收过来的socket数据,充当sql的字段属性变量,来实现数据写入功能。但是几经波折,发现难题攻克不了。现在,我换了另外一种思路:事先把数据库的插入数据命令写在socket里面,到了python直接执行接收到的插入命令就完成写入的操作。具体代码如下:运行没有报错,但是写入也不成功。求各路大神指导一下(Ps: 然后,我发送:"""INSERT money(name,account, saving, expend, income) VALUES ('aaa', '111', '222', '222', '2000')""" 这段数据,python就写入数据。 ) import socket import time import pymysql host = '' port = 80 bufsize = 1024 addr = (host, port) # host设定为空,表示可以与任何ip的socket在端口51423通信 # 设置socket,AF_INET表示是IPV4标准,SOCK_STREAM是TCP传输协议 tcpSerSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcpSerSock.bind(addr) tcpSerSock.listen(1) quit = False shutdown = False while True: print('等待数据中...') tcpCliSock, addr = tcpSerSock.accept() # 不断监听获取新的客户端连接 print('数据来自:', addr) db = pymysql.connect("localhost", "root", "000000", "money")#连接数据库 cursor = db.cursor()#获取光标 while True: # 与客户端建立连接之后,获取客户端传来的数据 data = tcpCliSock.recv(bufsize) data = data.decode('gbk') sql = data #把接收到的数据(已经写好的插入命令模板)复制给sql try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: db.rollback() if not sql: break ss = '[%s] %s' % (time.ctime(), data) tcpCliSock.sendall(ss.encode('gbk')) print(ss) if data == 'bye': quit = True break elif data == 'shutdown': shutdown = True break print('Bye-bye:[%s:%d]' % (addr[0], addr[1])) tcpCliSock.close() if shutdown: break tcpSerSock.close() print('Server has been closed') ``` ```

python实现类似nc的文件上传脚本问题

在看一本python黑帽子,有一个类似nc的程序,可以实现远程执行命令和文件上传等功能程序如下: ``` #!/opt/local/bin/python2.7 import sys import socket import getopt import threading import subprocess # define some global variables listen = False command = False upload = False execute = "" target = "" upload_destination = "" port = 0 # this runs a command and returns the output def run_command(command): # trim the newline command = command.rstrip() # run the command and get the output back try: output = subprocess.check_output(command,stderr=subprocess.STDOUT, shell=True) except OSError as reason: output = "Failed to execute command.\r\n Because"+str(reason) # send the output back to the client return output # this handles incoming client connections def client_handler(client_socket): global upload global execute global command # check for upload if len(upload_destination): #file_buffer=[] file_buffer = "" # keep reading data until none is available while True: data = client_socket.recv(1024) if not data: break file_buffer+=data '''while True: data=client_socket.recv(1024) print data if data.strip('\n'): file_buffer.append(data) else: break ''' # now we take these bytes and try to write them out try: file_descriptor = open(upload_destination,"wb") file_descriptor.write(file_buffer) file_descriptor.close() # acknowledge that we wrote the file out client_socket.send("Successfully saved file to %s\r\n" % upload_destination) except OSError as reason : #client_socket.send("Failed to save file to %s\r\n Because"+str() % upload_destination) client_socket.send("Failed , Because"+str()) # check for command execution if len(execute): # run the command output = run_command(execute) client_socket.send(output) # now we go into another loop if a command shell was requested if command: while True: # show a simple prompt client_socket.send("<BHP:#> ") # now we receive until we see a linefeed (enter key) cmd_buffer = "" while "\n" not in cmd_buffer: cmd_buffer += client_socket.recv(1024) # we have a valid command so execute it and send back the results response = run_command(cmd_buffer) # send back the response client_socket.send(response) # this is for incoming connections def server_loop(): global target global port # if no target is defined we listen on all interfaces if not len(target): target = "0.0.0.0" server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((target,port)) server.listen(100) while True: client_socket, addr = server.accept() # spin off a thread to handle our new client client_thread = threading.Thread(target=client_handler,args=(client_socket,)) client_thread.start() # if we don't listen we are a client....make it so. def client_sender(buffer): client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # connect to our target host client.connect((target,port)) # if we detect input from stdin send it # if not we are going to wait for the user to punch some in if len(buffer): client.send(buffer) while True: # now wait for data back recv_len = 1 response = "" while recv_len: data = client.recv(4096) recv_len = len(data) response+= data if recv_len < 4096: break print response, #break # wait for more input buffer = raw_input("") buffer += "\n" # send it off client.send(buffer) except: # just catch generic errors - you can do your homework to beef this up print "[*] Exception! Exiting." # teardown the connection client.close() def usage(): print "Netcat Replacement" print print "Usage: bhpnet.py -t target_host -p port" print "-l --listen - listen on [host]:[port] for incoming connections" print "-e --execute=file_to_run - execute the given file upon receiving a connection" print "-c --command - initialize a command shell" print "-u --upload=destination - upon receiving connection upload a file and write to [destination]" print print print "Examples: " print "bhpnet.py -t 192.168.0.1 -p 5555 -l -c" print "bhpnet.py -t 192.168.0.1 -p 5555 -l -u=c:\\target.exe" print "bhpnet.py -t 192.168.0.1 -p 5555 -l -e=\"cat /etc/passwd\"" print "echo 'ABCDEFGHI' | ./bhpnet.py -t 192.168.11.12 -p 135" sys.exit(0) def main(): global listen global port global execute global command global upload_destination global target if not len(sys.argv[1:]): usage() # read the commandline options try: opts, args = getopt.getopt(sys.argv[1:],"hle:t:p:cu:",["help","listen","execute","target","port","command","upload"]) except getopt.GetoptError as err: print str(err) usage() for o,a in opts: if o in ("-h","--help"): usage() elif o in ("-l","--listen"): listen = True elif o in ("-e", "--execute"): execute = a elif o in ("-c", "--commandshell"): command = True elif o in ("-u", "--upload"): upload_destination = a elif o in ("-t", "--target"): target = a elif o in ("-p", "--port"): port = int(a) else: assert False,"Unhandled Option" # are we going to listen or just send data from stdin if not listen and len(target) and port > 0: # read in the buffer from the commandline # this will block, so send CTRL-D if not sending input # to stdin buffer = sys.stdin.read() #buffer=raw_input('>') # send data off client_sender(buffer) # we are going to listen and potentially # upload things, execute commands and drop a shell back # depending on our command line options above if listen: print "listenning" server_loop() main() ``` 但是无法实现远程写入文件 ![图片说明](https://img-ask.csdn.net/upload/201809/11/1536632248_887827.png) 这里循环貌似无法正常退出来,请问是什么问题? 写入文件时服务端监听命令: python bhnet.py -l -p 9999 -u ./test1.txt 客户端命令: python bhnet.py -t 10.10.10.130 -p 9999 输入数据后按ctrl+d发送数据

在python-socketio中使用subprocess.Popen的问题.

现在可以确认towork函数能够成功创建线程,且前端能收到ready to work 但是在执行完popen后在调用socketio.emit就没有反应了 后端flask如下 ``` @socketio.on('work') def towork(): t=threading.Thread(target=test) t.start() def test(): socketio.emit('listen',{'res':'ready to work'}) cmd='dir' out=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE) status=out.wait() if status==0: socketio.emit('listen',{'res':'sucess'}) else: socketio.emit('listen',{'res':'failed'}) ``` 前端H5,如下 ``` socket.on("listen",function(msg){ $('#show').append(`<p>{msg.res}</p>`); }); ```

安卓 和python 服务端通信,安卓收不到服务端返回

用安卓和python的服务端通过socket进行通信, server端可以接收信息,但无法返回到安卓。 安卓 ``` try{ //port number 8888 Socket s1=new Socket(ipAdress,8883); OutputStream os=s1.getOutputStream(); DataOutputStream dos=new DataOutputStream(os); dos.writeUTF(etxtUserName.getText().toString() + " " + etxtPassword.getText().toString());// send usr_name and pwd to server //wait new Handler().postDelayed(new Runnable(){ public void run() { //execute the task } }, 1000); dos.flush(); s1.shutdownOutput(); // InputStream is=s1.getInputStream(); DataInputStream dis=new DataInputStream(is); String getStr=dis.readUTF();//YES or NO //String getStr = "YES"; if(getStr.equals("YES")){ intent.setClass(LogInActivity.this, personalActivity.class); LogInActivity.this.startActivity(intent); ``` python server ``` import socket # 导入 socket 模块 from time import ctime import time port = 8883 # 设置端口 host = socket.gethostname() # 获取本地主机名 BUFSIZE = 1024 tcp_socket = socket.socket() # 创建 socket 对象 tcp_socket.bind((host, port)) # 绑定端口 tcp_socket.listen(5) # 等待客户端连接 while True: tcpcli_socket, addr = tcp_socket.accept() # 建立客户端连接。 print ('连接地址:', addr) #c.send('we are top 1 group') data = tcpcli_socket.recv(BUFSIZE) print (data) tcpcli_socket.send("YES".encode('utf-8')) print ('done') tcpcli_socket.close() # 关闭连接 ``` 报错信息 ``` W/System.err: java.io.EOFException at java.io.DataInputStream.readFully(DataInputStream.java:200) at java.io.DataInputStream.readUTF(DataInputStream.java:606) at java.io.DataInputStream.readUTF(DataInputStream.java:561) at com.example.tianmingyang.carpool.LogInActivity$MyButtonOnClickListener.onClick(LogInActivity.java:78) at android.view.View.performClick(View.java:6294) ```

pyhon服务器如何用websocke实现服务器和html5的通信(代码已实现成功连接客户端服务端)?

服务端代码 #coding=gbk #coding=utf-8 #-*- coding: UTF-8 -* import struct import socket import re import time #ws握手响应头 import hashlib import base64 from multiprocessing import Process #HTML_ROOT_DIR = r"C:\Users\lenovo\Desktop\html" def write_msg(message): data=struct.pack('B',129)#写入第一个字节 msg_len=len(message)#写入包长度 if(msg_len<=125): data+=struct.pack('B',msg_len) elif(mas_len<=2**16-1): data+=struct.pack('!BH',126,msg_len) elif(mas_len<=2**64-1): data+=struct.pack('!BQ',127,msg_len) else: pass data+=bytes(message,encoding="utf-8") return data def handle_client(client_socket): """ 处理客户端请求 """ # 获取客户端请求数据 #获得key request_data = client_socket.recv(1024) print(request_data) webpage_regex=re.compile('''.*Sec-WebSocket-Key:(.*)''',re.IGNORECASE) key=webpage_regex.findall(request_data.decode("utf-8")) keyy='' try: print(key[0]) keyy=key[0] keyy=keyy.strip() print(keyy) except: pass # 打开文件,读取内容 try: file = open(r"C:\html\shouji\测试\客户端原生socket.html", "rb") except IOError: response_start_line = "HTTP/1.1 404 Not Found\r\n" response_headers = "Server: My server\r\n" response_body = "The file is not found!" response = response_start_line + response_headers + "\r\n" + response_body client_socket.send(bytes(response, "utf-8")) client_socket.close() else: file_data = file.read() file.close() if(keyy==''): response_start_line = "HTTP/1.1 200 OK\r\n" response_headers = "Server: My server\r\n" response_body = file_data.decode("utf-8") response = response_start_line + response_headers + "\r\n" + response_body client_socket.send(bytes(response, "utf-8")) client_socket.close() print('https响应已发送') else: magic = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11' sha1 = hashlib.sha1() sha1.update((keyy+magic).encode("utf8")) keyy=base64.b64encode(sha1.digest()) print('dddddd',base64.b64encode(sha1.digest())) keyy=keyy.decode("utf8") print('***********************',keyy) response_start_line = "HTTP/1.1 101 Switching Protocols\r\n" response_headers = "Upgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept:"+keyy+"\r\n" response_body = file_data.decode("utf-8") response = response_start_line + response_headers + "\r\n" #+ response_body client_socket.send(bytes(response, "utf-8")) print('ws响应已发送') while(1): time.sleep(5) client_socket.send(bytes('dddd', "utf-8")) #client_socket.send( write_msg('www.baidu.com')) print('发送了一次') # 关闭客户端连接 #client_socket.close() if __name__ == "__main__": server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server_socket.bind(("0.0.0.0", 8000)) server_socket.listen(128) while True: client_socket, client_address = server_socket.accept() print("[%s, %s]用户连接上了" % client_address) handle_client_process = Process(target=handle_client, args=(client_socket,)) handle_client_process.start() #client_socket.close() 客户端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h2 id="t">史p 芬</h2> <script type="text/javascript" charset="utf-8"> var ws = new WebSocket("ws://127.0.0.1:8000/"); //document.write(Date()); ws.onopen = function(e) { // Check the protocol chosen by the server //console.log(echoSocket.protocol); alert('连接上了') document.write(Date()); //ws.send('已经连接') } // 接受文本消息的事件处理实例: ws.onmessage = function(e) { alert('接受到消息') if(typeof e.data === "string"){ console.log("String message received", e, e.data); } else { console.log("Other message received", e, e.data); } }; ws.onclose = function(e) { alert('连接关闭') console.log("Connection closed", e); }; </script> </body> </html>

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

2019数学建模历年题目及优秀论文

2019数学建模历年题目及优秀论文 ,好资源与大家分享!!

华为海思数字IC提前批笔试题目,2020届华为海思校园招聘,西南地区

华为海思数字IC提前批笔试题目,2020届华为海思校园招聘,西南地区。单选和多选题华为海思数字IC提前批笔试题目,2020届华为海思校园招聘,西南地区。单选和多选题

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

【大总结2】大学两年,写了这篇几十万字的干货总结

本文十天后设置为粉丝可见,喜欢的提前关注 不要白嫖请点赞 不要白嫖请点赞 不要白嫖请点赞 文中提到的书我都有电子版,可以评论邮箱发给你。 文中提到的书我都有电子版,可以评论邮箱发给你。 文中提到的书我都有电子版,可以评论邮箱发给你。 本篇文章应该算是Java后端开发技术栈的,但是大部分是基础知识,所以我觉得对任何方向都是有用的。 1、数据结构 数据结构是计算机存储、...

阿里巴巴高级面试题(首发、高频136道、含答案)

整理的136道阿里的Java面试题,都来挑战一下,看看自己有多厉害。下面题目都带超详细的解答,详情见底部。 java基础 Arrays.sort实现原理和Collection实现原理 foreach和while的区别(编译之后) 线程池的种类,区别和使用场景 分析线程池的实现原理和线程的调度过程 线程池如何调优 线程池的最大线程数目根据什么确定 动态代理的几种方式 HashMap的并发问题 了解LinkedHashMap的应用吗 反射的原理,反射创建类实例的三种方式是什么? clon

Java进阶高手课-核心篇

<p> <br> </p> <p> Java进阶的必经之路!<span></span> </p> <p> <br> </p> <p> <b>【超实用课程内容】</b><b></b> </p> <p> 本课程囊括了<span>Java</span>语言进阶的核心知识点,以真实场景项目实战为导向,循序渐进,深入浅出的了解Java并发编程、JVM虚拟机、网络编程和MySQL应用,讲解<span>Java</span>这门使用广泛的编程语言,助你能够游刃有余地游走在这些技术之中。<span> </span> </p> <p> <br> </p> <p> 套餐中一共包含<span>4</span>门<span>Java</span>进阶必学的核心知识(共<span>57</span>讲) </p> <p> 课程<span>1</span>:《<span>Java</span>进阶高手课<span>-</span>并发编程透彻理解》 </p> <p> 课程<span>2</span>:《<span>Java</span>进阶高手课<span>-</span>深入<span>JVM</span>虚拟机》 </p> <p> 课程<span>3</span>:《<span>Java</span>进阶高手课<span>-</span>深入浅出<span>Java</span>网络编程》 </p> <p> 课程<span>4</span>:《<span>Java</span>进阶高手课<span>-</span>必知必会<span>MySQL</span>》 </p> <p> <br> </p> <p> <strong>【</strong><strong>哪些人适合学习这门课程?</strong><strong>】</strong><strong></strong> </p> <p> 1)大学生,平时只接触了语言基础,并未学习深入语言内核; </p> <p> 2)对<span>Java</span>掌握程度薄弱的人,课程可以让你更好的理解<span>Java</span>语言原理及应用 </p> <p> 3)想修炼更好的<span>Java</span>内功,工作中遇到<span>Bug</span>可以游刃有余 </p> <p> 4)被面试官打破沙锅问到底的问题问到怀疑人生的应聘者 </p> <p> <br> </p> <p> <strong>【</strong><strong>你能收获到什么?</strong><strong>】</strong> </p> <p> 1.基础再提高,针对<span>Java</span>核心知识点学透,用对<span> </span> </p> <p> 2.能力再提高,日常工作中的代码换新貌,不怕问题<span> </span> </p> <p> 3.面试再加分,巴不得面试官打破沙锅问到底,竞争力<span>MAX</span> </p> <p> <br> <strong>【课程如何观看?】</strong> </p> <p> 1、登录<span>CSDN</span>学院<span> APP </span>在我的课程中进行学习; </p> <p> 2、移动端:<span>CSDN </span>学院<span>APP</span>(注意不是<span>CSDN APP</span>哦) </p> <p> 本课程为录播课,课程<span>2</span>年有效观看时长 </p> <p> <br> </p> <p class="ql-long-24357476"> <strong>【</strong><strong>资料开放</strong><strong>】</strong><strong></strong> </p> <p class="ql-long-24357476"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476"> 下载方式:电脑登录课程观看页面,点击右下方课程资料、代码、课件等打包下载 </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdn.net/202004200153008539.png" alt=""> </p> <p> <br> </p>

LINGO20200701.zip

2020第三届河北省研究生建模竞赛B题,利用lingo进行求解的代码。lingo在处理这类涉及下标的约束条件是个难点,希望我的代码能够提供一些帮助

oracle学习第三天

怎么建表? 根据需求建ER图 根据ER图和三范式建表 SQL structured query language 结构化查询语言 数据库执行语句 数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成 数据控制语言(DCL:Data Control Language)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、REVOKE等语句 插入语句

2020联发科笔试题(IC方向)b.docx

文档位联发科公司的数字IC岗位笔试题,自己回忆版本,跟前一个A卷一起是完整版

使用TensorFlow+keras快速构建图像分类模型

课程分为两条主线: 1&nbsp;从Tensorflow的基础知识开始,全面介绍Tensorflow和Keras相关内容。通过大量实战,掌握Tensorflow和Keras经常用到的各种建模方式,参数优化方法,自定义参数和模型的手段,以及对训练结果评估与分析的技巧。 2&nbsp;从机器学习基础算法开始,然后进入到图像分类领域,使用MNIST手写数据集和CIFAR10图像数据集,从简单神经网络到深度神经网络,再到卷积神经网络,最终完成复杂模型:残差网络的搭建。完成这条主线,学员将可以自如地使用机器学习的手段来达到图像分类的目的。

点进来看看,为什么要学习【数据结构与算法】? 该如何学习?

【数据结构与算法】应该是大学计算机专业必修的一门课,为什么这门课会被列入到必修课的行列当中呢?因为对于每一个程序员来说,在以后的工作中不免要面对一些复杂的业务逻辑,同时要写对应的代码来实现这个复杂的业务。当然了,有很多种方式都可以实现同一个业务逻辑,但每种方式的代码运行效率可能不一样,我们接下来通过一个简单的例子感受一下。 例子: 假如你们班级里有一万个人,并且每个人的姓名和身份信息都存储在一个

《三天给你聊清楚redis》第2天看看redis怎么被搞出来的(22036字)

后端需要知道的关于redis的事,基本都在这里了。 此文后续会改为粉丝可见,所以喜欢的请提前关注。 你的点赞和评论是我创作的最大动力,谢谢。 3、单机实现 3.1、数据库概述 redis服务器将所有数据库都保存在redis/redisServer中,数组db存放所有数据库,每一项是一个redisdb结构。dbnum代表数据库数量。 客户端有一个指针指向当前数据库,可以切换,也就是移动指

中国全国省地县乡村五级地标kmz(很准)

中国全国省地县乡村五级地标kmz(很准),我也不知道写啥了,反正挺好用的

R语言入门基础

本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据处理的基本思路和方法。 课程能够帮助初学者快速入门数据处理。 课程通过大量的案例详细地介绍了如何使用R语言进行数据分析和处理 课程操作实际案例教学,通过编写代码演示R语言的基本使用方法和技巧

玩转Linux:常用命令实例指南

人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。 本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 --------------------------------------------------------------- 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+700元编程礼包。 &nbsp;

利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?

作者:JackTian、黄伟呢 公众号:杰哥的IT之旅,后台回复:「运维」可获取本文完整数据 大家好,我是 JackTian。 我经常会收到读者关于一系列咨询运维方面的事情,比如:杰哥,运维到底是做什么的呀?运维的薪资水平/ 待遇怎么样呢?杰哥帮忙看下这个岗位的招聘需要对于小白来说,能否胜任的了呢?等等。 这里,我把之前写的《一篇文章带你解读从初级运维工程师到资深运维专家的学习路线》,本文从初级 / 中级 / 高级运维工程师以及到资深方向逐步展开给大家汇总了一些各阶段所具备的技能,仅供学习路线参考,如有.

2018年数学建模国赛A题matlab代码及注释.rar

2018年数学建模国赛A题matlab代码及注释,自己做题编写,实测有效,可以运行

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

实用主义学Python(小白也容易上手的Python实用案例)

3折秒杀! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会&nbsp; 【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

赵强老师:大数据从入门到精通(套餐)

本系列课程将基于RedHat Linux 7.4版本、Hadoop 2.7.3、Spark 2 版本全面介绍大数据的整体内容,让学员深入理解并掌握运行机制和原理,从而进一步掌握大数据的相关内容。

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

2020联发科笔试题(IC方向)a.docx

文档为自己回忆 准确度高;2019年2020届笔试题;文档分上下两个章节,

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

玩转 Spring 全家桶

<p> 新课上新福利:本套餐共包含 4 大课程,原价 ¥199,今日立减¥100,到手仅需¥99! </p> <p> <br> </p> <p class="MsoNormal" align="left"> <b>为什么每一个程序员都需要掌握</b><b> Java Spring </b><b>全家桶?</b><b><br> </b><b></b> </p> <p class="MsoNormal" align="left"> 1. Spring在如今Java的应用市场以及就业市场中,都成为炙手可热的部分。面试出镜率之高,市场应用之广,让其成为Java开发人员的必备技能之一,唯有系统的掌握Spring全家桶的思想、设计、以及实现,才可以让开发过程变得更容易、更高效,以适应当前市场的快速发展。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>本套餐内容介绍:</b><b></b> </p> <p class="MsoNormal" align="left"> 本课程所有内容基于最新的Spring  Boot 2.2.5.RELEASE 版本,和Spring Cloud Hoxton.SR3 版本,其中大量的独家案例,以及本人多年的经验讲解。 </p> <p class="MsoNormal" align="left"> 课程循序渐进,内容中有Spring的核心基础内容,也有高级的进阶内容。 </p> <p class="MsoNormal" align="left"> 内容分为五大部分,分别是: </p> <p class="MsoNormal" align="left"> <b>初识篇</b><b>Spring Framework</b>:主要讲解Spring的核心内容IOC及AOP。本篇对Spring的基本概念进行大致的讲解,但主要的技术点皆以案例为主,同时会对项目中都会用到的日志进行讲解及案例说明。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>基础篇</b><b>Spring MVC</b><b>:</b>主要以案例的方式讲解Spring的前端部分,比如表单、验证、国际化、主题、文件上传等,以及高阶内容过滤器、拦截器、多种异常处理方法 ,以及日志Log4j2及SLF4J的使用。最后,会结合Spring、Spring MVC及MyBatis(即SSM)进行产品的增删改查的案例讲解。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>核心篇</b><b>Spring Boot</b><b>:</b>主要以案例的方式对如何使用Spring Boot开发进行讲解,包括热部署,扩展的启动行为,整合JSON、Thymeleaf、Freemarker、JSP的Web开发,全局异常处理,配置文件的使用,及Logback&SLF4J的日志使用,国际化,最后,会结合Spring Boot及MyBatis进行产品的增删改查的案例讲解。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>核心篇</b><b>Spring Cloud</b><b>:</b>以案例的方式,结合Spring Boot,对注册中心,消费者与生产者,服务的调用OpenFeign,Hystrix监控,服务网关Gateway,消息驱动微服务Stream,分布式集群,及分布式配置中心进行讲解,使得我们快速掌握微服务的开发方法。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>核心篇</b><b>Spring Data</b><b>:</b>主要以案例的方式讲解持久层的开发,分别对Spring Data JPA 及 Spring Data JDBC 进行讲解。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>学习收获:</b><b></b> </p> <p class="MsoNormal" align="left"> 1、使用 Spring MVC 快速开发; </p> <p class="MsoNormal" align="left"> 2、搞定 Spring Boot 核心的实现原理; </p> <p class="MsoNormal" align="left"> 3、通过 Spring Cloud 快速构建微服务架构; </p> <p class="MsoNormal" align="left"> 4、掌握 Spring 的使用和开发技巧。 </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <br> </p> <p class="MsoNormal" align="left"> <b>讲师介绍</b><b></b> </p> <p class="MsoNormal" align="left"> 杨春娟,05年毕业于清华大学,之后致力于 JavaEE 的设计开发,12年开始致力于 Hybris 的架构、设计及开发,及管理工作。精通C/ C++,Java, JavaEE,MySql,精通SAP Hybris等,善于将复杂的问题简单化并教授给学生,善于培养学生独立思考问题的能力。 </p> <p> <br> </p> <p> <img src="https://img-bss.csdn.net/202005180944265006.png" alt=""> </p> <p> <img src="https://img-bss.csdn.net/202005080326195251.png" alt=""> </p>

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

Java从入门到进阶(套餐系列)

本课程为Java从入门到进阶的系列课程。 共包含20季: 1.初识Java 2.变量和数据类型 3.运算符 4.选择结构 5.循环结构 6.方法 7.数组 8.面向对象 9.抽象类和接口 10.阶段项目:银行管理系统 11.常用类 12.枚举、泛型、内部类 13.集合 14.异常 15.I/O输入输出流 16.线程 17.反射 18.设计模式 19.JDBC访问数据库 20.阶段项目:购物系统

相关热词 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园 c# 设置当前标注样式
立即提问