Network Error (tcp_error)

项目部署到服务器上后,页面访问,自己页面无法显示,而同样的操作,在别的电脑上就没问题,java web程序。客户端通过公司内部网访问,有的通过代理服务器,有的不通过。是否和代理服务器有关?


Network Error (tcp_error)

A communication error occurred: ""

The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.

For assistance, contact your network support team.



Csdn user default icon
特定浏览器打开web项目出现Network Error问题

* 部署项目之后出现谷歌和火狐浏览器使用localhost:8081不能访问,会出现如下报错,但是使用http://可以访问 ``` Network Error (tcp_error) A communication error occurred: "Operation timed out" The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time. For assistance, contact your network support team. ``` * 上面使用edge浏览器不会存在此问题,两个都可以访问 * 我的host文件已经修改 ![图片说明](


<div class="post-text" itemprop="text"> <p>I am getting a lot of error like below mentioned, </p> <p>read tcp xx.xx.xx.xx:80: <strong>use of closed network connection</strong></p> <p>read tcp xx.xx.xx.xx:80: <strong>connection reset by peer</strong></p> <p>//function for HTTP connection</p> <pre><code>func GetResponseBytesByURL_raw(restUrl, connectionTimeOutStr, readTimeOutStr string) ([]byte, error) { connectionTimeOut, _ /*err*/ := time.ParseDuration(connectionTimeOutStr) readTimeOut, _ /*err*/ := time.ParseDuration(readTimeOutStr) timeout := connectionTimeOut + readTimeOut // time.Duration((strconv.Atoi(connectionTimeOutStr) + strconv.Atoi(readTimeOutStr))) //timeout = 200 * time.Millisecond client := http.Client{ Timeout: timeout, } resp, err := client.Get(restUrl) if nil != err { logger.SetLog("Error GetResponseBytesByURL_raw |err: ", logs.LevelError, err) return make([]byte, 0), err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) return body, err } </code></pre> <p>Update (July 14):</p> <p>Server : NumCPU=8, RAM=24GB, GO=go1.4.2.linux-amd64</p> <p>I am getting such error during some high traffic. <strong>20000-30000 request per minutes</strong>, and I have a <strong>time frame of 500ms to fetch response from third party api.</strong> </p> <p><strong>netstat status</strong> from my server (using : netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n) to get frequency</p> <pre><code> 1 established) 1 Foreign 9 LISTEN 33 FIN_WAIT1 338 ESTABLISHED 5530 SYN_SENT 32202 TIME_WAIT </code></pre> <p><strong>sysctl -p</strong></p> <pre><code>**sysctl -p** fs.file-max = 2097152 vm.swappiness = 10 vm.dirty_ratio = 60 vm.dirty_background_ratio = 2 net.ipv4.tcp_synack_retries = 2 net.ipv4.ip_local_port_range = 2000 65535 net.ipv4.tcp_rfc1337 = 1 net.ipv4.tcp_fin_timeout = 5 net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_keepalive_intvl = 15 net.core.rmem_default = 31457280 net.core.rmem_max = 12582912 net.core.wmem_default = 31457280 net.core.wmem_max = 12582912 net.core.somaxconn = 65536 net.core.netdev_max_backlog = 65536 net.core.optmem_max = 25165824 net.ipv4.tcp_mem = 65536 131072 262144 net.ipv4.udp_mem = 65536 131072 262144 net.ipv4.tcp_rmem = 8192 87380 16777216 net.ipv4.udp_rmem_min = 16384 net.ipv4.tcp_wmem = 8192 65536 16777216 net.ipv4.udp_wmem_min = 16384 net.ipv4.tcp_max_tw_buckets = 1440000 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_tw_reuse = 1 net.ipv6.bindv6only = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.icmp_echo_ignore_broadcasts = 1 error: "net.ipv4.icmp_ignore_bogus_error_messages" is an unknown key kernel.exec-shield = 1 kernel.randomize_va_space = 1 net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1 net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 </code></pre> </div>

无法连接docker mysql - php_network_getaddresses

<div class="post-text" itemprop="text"> <p>I created a Docker and worked well. But when I tried to use database with Laravel. It returns error that couldnt find it.</p> <p>Here's my docker file. And errors that i get. And "docker ps" result.</p> <pre><code>version: '3.1' services: redis: image: "redis:alpine" ports: - 6379/tcp networks: spordev: ipv4_address: db: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: 11235 MYSQL_DATABASE: spor MYSQL_USER: spor MYSQL_PASSWORD: 11235 networks: spordev: ipv4_address: web: build: . ports: - "3000:80" volumes: - .:/var/www/html networks: spordev: ipv4_address: networks: spordev: driver: bridge ipam: driver: default config: - subnet: </code></pre> <p>Here's my ".env" file.</p> <pre><code>APP_NAME=Spor APP_ENV=local APP_KEY=base64:cs9fOYhNYy4Jtp3VurVN3XWN7qXk0yxWlLh3cPuIU20= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=spor DB_USERNAME=root DB_PASSWORD=11235 BROADCAST_DRIVER=log CACHE_DRIVER=redis QUEUE_CONNECTION=sync SESSION_DRIVER=redis SESSION_LIFETIME=120 REDIS_CLIENT=predis REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST= MAIL_PORT=587 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS= MAIL_FROM_NAME= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" </code></pre> <p>and here's my "docker ps" result.</p> <pre><code>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e745f1eb06a mysql "docker-entrypoint.s…" 14 minutes ago Up 2 minutes 3306/tcp, 33060/tcp spor_db_1 502f3f77f24c spor_web "/usr/bin/supervisor…" 14 minutes ago Up 2 minutes 9000/tcp,;80/tcp spor_web_1 55bbd344b18a redis:alpine "docker-entrypoint.s…" 14 minutes ago Up 2 minutes;6379/tcp spor_redis_1 </code></pre> <p>"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known (SQL: select * from information_schema.tables where table_schema = spor and table_name = migrations and table_type = 'BASE TABLE')"</p> <p>" Exception trace:</p> <p>1 PDOException::("PDO::__construct(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known") /Users/tufancagkansokmen/works/spor/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70</p> <p>2 PDO::__construct("mysql:host=db;port=3306;dbname=spor", "spor", "11235", []) /Users/tufancagkansokmen/works/spor/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 "</p> <p>What could be problem about my database connection?</p> </div>

putty控制Linux时,出现Network error:connection refused

环境:vmware redhat6.2 配置ssd putty控制 1.linux上的ssh server端程序已经安装,并且服务已经启动 2.防火墙已经关闭 linux的iP可以通,但是linux ping windows 不通 输入sudo iptables -L时,出现![图片说明](,而不是 tcp dpt:ssh

“ ConnectEx tcp:信号灯超时时间已到。”的含义是什么。

<div class="post-text" itemprop="text"> <p>I write a simple go program which runs on windows and tests whether the remote port is active: </p> <pre><code>package main import ( "fmt" "net" ) func main(){ conn, err := net.Dial("tcp", "") if err != nil { fmt.Println(err) } else { conn.Close() } } </code></pre> <p>Now, the remote port is closed. I run it first time, and the error is: </p> <pre><code>dial tcp ConnectEx tcp: The remote computer refused the network connection. </code></pre> <p>Then I continue to run it, the error is changed to: </p> <pre><code>dial tcp ConnectEx tcp: The semaphore timeout period has expired. </code></pre> <p>Why the Dial returns "ConnectEx tcp: The semaphore timeout period has expired."? And what is the meaning of this error?</p> </div>

PHP和MySQL - SQLSTATE [HY000] [2003]无法连接到MySQL服务器 - TCP上的许多连接

<div class="post-text" itemprop="text"> <p>I have many PHP-Instances (250 to 500 and more), which open a DB-Connection and do SELECT's, UPDATE's and INSERT's. After few seconds i get the following Error:</p> <pre><code>PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '' (4)' in /var/www/xxx/vendor/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php:49 </code></pre> <p>I spend at least 30 hours to find a solution for that. In my opinion, the fault lies in a wrong configuration of MySQL or Debian. I found various configuration-options, but none of them work.</p> <hr> <h2>Additional informations</h2> <ul> <li>The error only occurs on remote servers - when I start the scripts on the DB-Server directly, i get no errors.</li> </ul> <hr> <h2>Current configs</h2> <p><strong>sysctl.conf</strong></p> <pre><code>net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 # Disable netfilter on bridges. #net.bridge.bridge-nf-call-ip6tables = 0 #net.bridge.bridge-nf-call-iptables = 0 #net.bridge.bridge-nf-call-arptables = 0 net.ipv4.ip_forward = 1 net.ipv4.neigh.default.gc_thresh1 = 4096 net.ipv4.neigh.default.gc_thresh2 = 8192 net.ipv4.neigh.default.gc_thresh3 = 16384 net.ipv4.neigh.default.gc_interval = 5 net.ipv4.neigh.default.gc_stale_time = 120 net.core.netdev_max_backlog = 262144 #net.core.rmem_default = 16777216 net.core.rmem_max = 108544 net.core.somaxconn = 32768 net.core.wmem_max = 108544 net.netfilter.nf_conntrack_max = 10000000 net.netfilter.nf_conntrack_tcp_timeout_established = 40 net.netfilter.nf_conntrack_tcp_timeout_close = 10 net.netfilter.nf_conntrack_tcp_timeout_close_wait = 10 net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 10 net.netfilter.nf_conntrack_tcp_timeout_last_ack = 10 net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 10 net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 10 net.netfilter.nf_conntrack_tcp_timeout_time_wait = 10 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_sack = 0 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_wmem = 4096 16384 16777216 </code></pre> <p><strong>etc/mysql/</strong></p> <pre><code>[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/ socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking bind-address = {local server ip} key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 1100 myisam-recover = BACKUP max_connections = 1000 #table_cache = 64 #thread_concurrency = 10 query_cache_limit = 2G query_cache_size = 32M #general_log_file = /var/log/mysql/mysql.log #general_log = 1 log_error = /var/log/mysql/error.log slow_query_log_file = /var/log/mysql/mysql-slow.log slow_query_log = 1 long_query_time = 2 log_queries_not_using_indexes #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name innodb_buffer_pool_size = 16G innodb_buffer_pool_instances = 16 [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16M !includedir /etc/mysql/conf.d/ </code></pre> <p><strong>load modules - modules.conf</strong></p> <pre><code>nf_conntrack nf_conntrack_ipv4 </code></pre> <p><strong>script start on startup</strong></p> <pre><code>echo "1" &gt; /proc/sys/net/ipv4/tcp_tw_reuse echo "1" &gt; /proc/sys/net/ipv4/tcp_tw_recycle echo "15" &gt; /proc/sys/net/ipv4/tcp_fin_timeout /etc/init.d/networking restart </code></pre> <hr> <h2>My System</h2> <ul> <li>Debian 8.2</li> <li>MySQL 5.5.44-0+deb8u1</li> <li>php5-mysql 5.6.13+dfsg-0+deb8u1</li> <li>Virtual Machine with 64GB RAM, 48 CPU's (Intel Xeon E7540 at 2.0 GHz)</li> <li>Run at an ESxi-Host v. 6.0.0 2494585</li> </ul> <h2>load Testing</h2> <p><strong>start x PHP-instances / loadTester.php</strong></p> <pre><code>&lt;?php require_once __DIR__ . "/autoloader.php"; $numberOfInstances = 100; $index = 0; $numberOfDataset = 500; while($index &lt; $numberOfInstances) { @system( "php " . __DIR__ . "/loadTest.php $index $numberOfDataset &gt; /dev/null &amp;" ); $index++; } </code></pre> <p><strong>one instance SELECT / loadTest.php</strong></p> <pre><code>&lt;?php require_once __DIR__ . "/autoloader.php"; $skip = $argv[ 1 ]; $numberOfDataset = $argv[ 2 ]; $loops = 100; $index = 0; $skip = $skip * $numberOfDataset; while ( $index &lt; $loops ) { $adresses = AddressQuery::create()-&gt;offset( $skip )-&gt;limit( $numberOfDataset )-&gt;find(); } </code></pre> <h2>Network Diagram</h2> <p><a href="" rel="nofollow">Network Diagram</a></p> </div>

SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo failed:没有这样的主机是已知的。 :dataTable使用SQL SERVER 2012的服务器端处理

<div class="post-text" itemprop="text"> <p>I was able to implement this tutorial in my test page: <a href="" rel="nofollow noreferrer"></a>. </p> <p>My problem is I cannot implement this example in my other test page? <a href="" rel="nofollow noreferrer"></a>.</p> <p>What seems to be the problem? </p> <p>What's the difference between the configuration for dataTable editor and standard dataTable connection via Server-Side?</p> <p>I am using <strong>SQL SERVER 2012</strong>, <strong>XAMPP</strong>, and <strong>SQLSRV</strong> for connection.</p> <p>This is what I'm getting.</p> <blockquote> <p>DataTables warning: table id=example - An error occurred while connecting to the database. The error reported by the server was: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. </p> </blockquote> <p>It should work since I only need to populate these lines, right?</p> <pre><code>// SQL server connection information $sql_details = array( 'user' =&gt; 'xx', 'pass' =&gt; 'xxxxx', 'db' =&gt; 'xxxxx', 'host' =&gt; 'xxxxx\SQLSERVER' ); </code></pre> <p>Similar to what I did to the dataTable Editor, I only populated this line.</p> <pre><code>/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Database user / pass */ $sql_details = array( "type" =&gt; "Sqlserver", // Database type: "Mysql", "Postgres", "Sqlserver", "Sqlite" or "Oracle" "user" =&gt; "xx", // Database user name "pass" =&gt; "xxxxx", // Database password "host" =&gt; "xxxxx\SQLSERVER", // Database host "port" =&gt; "", // Database connection port (can be left empty for default) "db" =&gt; "xxxxx", // Database name "dsn" =&gt; "", // PHP DSN extra information. Set as `charset=utf8mb4` if you are using MySQL "pdoAttr" =&gt; array() // PHP PDO attributes array. See the PHP documentation for all options ); </code></pre> <p>I also have the <code>require( 'ssp.class.php' );</code> available in server-side scripts since what I downloaded was a full example.</p> <p>May I ask for your help regarding this matter?</p> </div>

PHP 用workerman搭建socket 用命令行启动之后提示cannot assign requested address 如何解决?

![图片说明]( 可能解决方法1--调低time_wait状态端口等待时间: 1. 调低端口释放后的等待时间,默认为60s,修改为15~30s sysctl -w net.ipv4.tcp_fin_timeout=30 2. 修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0,修改为1,释放TIME_WAIT端口给新连接使用 sysctl -w net.ipv4.tcp_timestamps=1 3. 修改tcp/ip协议配置,快速回收socket资源,默认为0,修改为1 sysctl -w net.ipv4.tcp_tw_recycle=1 可能解决办法2--增加可用端口: CCH:~ # sysctl -a |grep port_range net.ipv4.ip_local_port_range = 50000 65000 -----意味着50000~65000端口可用 修改参数: $ vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 10000 65000 -----意味着10000~65000端口可用 改完后,执行命令“sysctl -p”使参数生效,不需要reboot。 上面的方法也都试过了 没有效果 还是提示错误

PHP Curl Error 35 Peer报告它遇到内部错误

<div class="post-text" itemprop="text"> <p>I am trying to get PHP Curl working using the following code: I own the domain that is using the api and I can make any changes to the server that it is running on.</p> <pre><code>&lt;?php ini_set('display_errors',1); ini_set('display_startup_errors',1); error_reporting(-1); $data = array("username" =&gt; "derped", "authid" =&gt; "987654321", "ipaddress" =&gt; "", "apikey" =&gt; "1234567829"); $data_string = json_encode($data); $url = ''; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: Content-Type: text/html')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); if(curl_exec($ch) === false) { echo curl_error($ch); } else { echo 'ok'; } curl_close($ch); $received = json_decode($result); $check = $received-&gt;{'good'}; echo $result; echo $check; ?&gt; </code></pre> <p>Curl returns the error: Peer reports it experienced an internal error. When I curl the domain itself (<a href="" rel="nofollow"></a>) it returns the same error. Even when I use curl via the terminal it returns the 35 error, but when I try to curl the domain without HTTPS it returns the 302 found but since my domain is https only this will not be the solution, it just echos the move page. I know this has something todo with curl using https but <a href="" rel="nofollow"></a> works so I dont know where to start...</p> </div>


<div class="post-text" itemprop="text"> <p>I need to connect to a remote MySql server using Go. I'm using following code to connect to MySql via gorm.</p> <pre><code> type DBController struct { DB gorm.DB } func (dc *DBController) InitDB() { var err error host := v.GetString("") port := v.GetString("db.mysql.port") user := v.GetString("db.mysql.user") pass := v.GetString("db.mysql.pass") db := v.GetString("db.mysql.db") //user:password@tcp(localhost:5555)/dbname conn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", user, pass, host, port, db) //conn := v.GetString($user+":"$pass+"@tcp("+$host+":"+$port+")/"+$db) log.Debug(conn) dc.DB, err = gorm.Open("mysql", conn) if err != nil { log.Fatalf("Error when connect database, the error is '%v'", err) } dc.DB.LogMode(true) } func (dc *DBController) GetDB() gorm.DB { return dc.DB } </code></pre> <p>When I run the Go server I'm getting following errors</p> <pre><code>No configuration file loaded - using defaults :@tcp(:)/ Error when connect database, the error is 'dial tcp: unknown port tcp/' exit status 1 </code></pre> <p>How can fix this error?</p> </div>

PHP - 如何测试stream_socket_client创建的流是否是开放和可写的?

<div class="post-text" itemprop="text"> <p>My question is very similar to <a href="">this question</a> but in my case I am wanting to know if the stream returned by <code>stream_socket_client</code> is open and writeable.</p> <p>I know that <code>stream_socket_client</code> will return <code>FALSE</code> if the stream could not be opened, but I am needing to detect later on if the stream has been closed by the server (or closed due to some network error, for example).</p> <p>At the moment I'm just doing...</p> <p><code>$fp = stream_socket_client($apns_url, $error_code, $error_string, $timeout_secs, STREAM_CLIENT_CONNECT, $ctx); //looping through / sending data if (!fp) { //re-open connection }</code></p> <p>...but I'm not sure if my <code>if (!fp) {...}</code> check is sufficient?</p> </div>

在Go源代码中找到“ read tcp”错误

<div class="post-text" itemprop="text"> <p>I am getting a network error of the form</p> <pre><code>http: proxy error: read tcp [...]-&gt;[...]: i/o timeout </code></pre> <p>And want to locate specifically the source of the <code>read tcp</code> error in the Go source code. Could anyone help me with that?</p> </div>

sqlserver 2008R2 远程连接数据库时 provider: TCP 提供程序, error: 0 - 你的主机中的软件中止了一个已建立的连接。

已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: TCP 提供程序, error: 0 - 你的主机中的软件中止了一个已建立的连接。) (.Net SqlClient Data Provider)

PHPMailer从localhost发送电子邮件到gmail错误:php_network_getaddresses:getaddrinfo failed:没有这样的主机已知

<div class="post-text" itemprop="text"> <p>I've been trying to setup my localhost to send messages from a contact form to a test Gmail account that I've setup. When I run the file I get this error:</p> <pre><code>SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: No such host is known. </code></pre> <p>Here's the code</p> <pre><code>require_once('phpmailer/PhpMailerAutoload.php'); $subject='Test Email'; $from=''; $message='This is a test email.'; $mail=new PHPMailer(); $mail-&gt;isSMTP(); // Set mailer to use SMTP $mail-&gt;Host = ''; // Specify main and backup SMTP servers $mail-&gt;SMTPAuth = true; // Enable SMTP authentication $mail-&gt;Username = ''; // SMTP username $mail-&gt;Password = 'myemailpassword'; // SMTP password $mail-&gt;SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail-&gt;Port = 587; // TCP port to connect to $mail-&gt;SMTPDebug = 1; $mail-&gt;setFrom($email, 'Joe Smith'); $mail-&gt;addAddress('', 'Me'); // Add a recipient $mail-&gt;isHTML(false); // Set email format to HTML $mail-&gt;Subject = $subject; $mail-&gt;Body = $message; $mail-&gt;AltBody = $message; </code></pre> <p>I have the email set to receive less secure apps. I also changed the settings so that IMAP is enabled.</p> <p><code>extension=php_openssl.dll</code> is also uncommented in the <code>php.ini</code> file also.</p> </div>


<div class="post-text" itemprop="text"> <p>I am trying to learn the <code>net</code> package. I am listening for local connections on a port, and sending data to that port using <code>echo -n "Server test. " | nc localhost 5000</code>.</p> <p>I always get an <code>EOF</code> error when reading the data, however. I checked the docs and this is only supposed to happen <a href="" rel="nofollow noreferrer">when there is no more input available</a>, however I don't understand why this is happening here.</p> <p>This is my code:</p> <pre><code>package main import ( "bufio" "fmt" "net" "os" ) // Connection details type connection struct { host string port string network string } // Initialise a Listener on a given port // Pass handling into seperate goroutine func main() { localConn := connection{ host: "", // Localhost port: "5000", network: "tcp", } listener, err := net.Listen(,":"+localConn.port) checkError("Error listening: ", err) conn, err := listener.Accept() for { checkError("Error accepting: ", err) go handleRequest(conn) } } // Delegate handling of requests func handleRequest(conn net.Conn) { // Read message up until newline delimiter message, err := bufio.NewReader(conn).ReadString(' ') checkError("Error reading: ", err) fmt.Println("Message recieved: ", string(message)) conn.Write([]byte("Recieved message: " + string(message) + " ")) conn.Close() } // Check if an error exists // If so, print and exit program. (Not super robust!) func checkError(message string, err error) { if err != nil { fmt.Println(message, err.Error()) os.Exit(1) } } </code></pre> </div>

Golang TCP Client无法从服务器接收数据,在conn.Read()上挂起/阻止

<div class="post-text" itemprop="text"> <p>I'm taking a dive into the networking side of Go, and I'd thought I'd start with a TCP Client and Server.</p> <p>I am able to get the client to connect to the server and send a simple message ("Hello") successfully. However, I can not get the server to send back a response (or the get the client to read the response).</p> <p>Here is the code.</p> <p><strong>Server</strong></p> <pre><code>Address := "localhost:9999" Addr, err := net.ResolveTCPAddr("tcp", Address) if err != nil { log.Fatal(err) } listener, err := net.ListenTCP("tcp", Addr) if err != nil { log.Fatal(err) } defer listener.Close() //server loop for { conn, err := listener.Accept() if err != nil { continue } go handle(conn) } func handle(c net.Conn) { totalBytes, message := connRead(c) fmt.Println(c.RemoteAddr()) fmt.Println(string(message[:totalBytes])) c.Write([]byte("Hi")) fmt.Println("Replied") c.Close() } func connRead(c net.Conn) (int, []byte) { buffer := make([]byte, 4096) totalBytes := 0 for { n, err := c.Read(buffer) totalBytes += n if err != nil { if err != io.EOF { log.Printf("Read error: %s", err) } break } } return totalBytes, buffer } </code></pre> <p><strong>Client</strong></p> <pre><code> tcpAddr, err := net.ResolveTCPAddr("tcp", "localhost:9999") if err != nil { log.Fatal(err) } conn, err := net.DialTCP("tcp", nil, tcpAddr) if err != nil { log.Fatal(err) } defer conn.Close() _, err = conn.Write([]byte("Hello")) if err != nil { log.Fatal(err) } tBytes, resp := connRead(conn) fmt.Println(tBytes) fmt.Println(string(resp[:tBytes])) func connRead(c net.Conn) (int, []byte) { buffer := make([]byte, 4096) totalBytes := 0 for { fmt.Println("Stuck?") n, err := c.Read(buffer) fmt.Println("Stuck.") totalBytes += n fmt.Println(totalBytes) if err != nil { if err != io.EOF { log.Printf("Read error: %s", err) } break } } return totalBytes, buffer } </code></pre> <p>From what I can tell it's not a problem with the server. When I run the client, everything stops right after <code>fmt.Println("Stuck?")</code>. This leads me to belive that it's messing up in the <code>n, err := c.Read(buffer)</code> statement somehow. The server doesn't even print out the messeage length (5) and message ("Hello") untill after I Ctrl-C the client. If I comment out the read and printings in the client, then things run smoothly.</p> <p>I've tried googling for answers, but nothing has come up. </p> <p>What am I doing wrong? Am I using conn.Read() wrong in the client?</p> <p><strong>EDIT:</strong></p> <p>I actually do have access to Linux, so here are the SIGQUIT dumps for the pertinent functions.</p> <p><em>Server</em></p> <p><a href="" rel="nofollow"></a></p> <p><em>Client</em></p> <p><a href="" rel="nofollow"></a></p> </div>


<div class="post-text" itemprop="text"> <p>I'm trying to make a login system using php and phpmyadmin, the code works when I tried it using XAMPP. In XAMPP I can sign up a new user and save it in phpmyadmin, then use the account to login into a certain page in my website. But in my online website, only the sign up function works. A new account register to online phpmyadmin, when i use the account the result is "operation timed out" since the page load too long.</p> <pre><code>Network Error (tcp_error) A communication error occurred: "Operation timed out" The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time. For assistance, contact your network support team. </code></pre> <p>I've tried to stop the firewalld but it still "operation time out". I tried to login without fill the username and password form, but it shows operation timed out not the login empty (my error handler). I change the session.gc_maxlifetime in php.ini to 10800, nothing changed. Can anyone help me please?</p> </div>


有没有懂LoRaServer的。服务器无法下发数据给设备。能帮我解决问题的QQ再发个红包,之前是可以跑通的,下发也行。换了个CN470的设备就跑不通了,用TTN服务器能跑通。自己装的LoRaServer就不行。有没有人帮忙看一下,是不是哪里配置错误了。 [general] # Log level # # debug=5, info=4, warning=3, error=2, fatal=1, panic=0 log_level=4 # PostgreSQL settings. [postgresql] # PostgreSQL dsn (e.g.: postgres://user:password@hostname/database?sslmode=disable). # # Besides using an URL (e.g. 'postgres://user:password@hostname/database?sslmode=disable') # it is also possible to use the following format: # 'user=loraserver dbname=loraserver sslmode=disable'. # # The following connection parameters are supported: # # * dbname - The name of the database to connect to # * user - The user to sign in as # * password - The user's password # * host - The host to connect to. Values that start with / are for unix domain sockets. (default is localhost) # * port - The port to bind to. (default is 5432) # * sslmode - Whether or not to use SSL (default is require, this is not the default for libpq) # * fallback_application_name - An application_name to fall back to if one isn't provided. # * connect_timeout - Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. # * sslcert - Cert file location. The file must contain PEM encoded data. # * sslkey - Key file location. The file must contain PEM encoded data. # * sslrootcert - The location of the root certificate file. The file must contain PEM encoded data. # # Valid values for sslmode are: # # * disable - No SSL # * require - Always SSL (skip verification) # * verify-ca - Always SSL (verify that the certificate presented by the server was signed by a trusted CA) dsn="postgres://loraserver_ns:dbpassword@localhost/loraserver_ns?sslmode=disable" # Automatically apply database migrations. # # It is possible to apply the database-migrations by hand # (see # or let LoRa App Server migrate to the latest state automatically, by using # this setting. Make sure that you always make a backup when upgrading Lora # App Server and / or applying migrations. automigrate=true # Redis settings # # Please note that Redis 2.6.0+ is required. [redis] # Redis url (e.g. redis://user:password@hostname/0) # # For more information about the Redis URL format, see: # url="redis://localhost:6379" # Network-server settings. [network_server] # Network identifier (NetID, 3 bytes) encoded as HEX (e.g. 010203) net_id="000000" # Time to wait for uplink de-duplication. # # This is the time that LoRa Server will wait for other gateways to receive # the same uplink frame. Valid units are 'ms' or 's'. # Please note that this value has influence on the uplink / downlink # roundtrip time. Setting this value too high means LoRa Server will be # unable to respond to the device within its receive-window. deduplication_delay="200ms" # Device session expiration. # # The TTL value defines the time after which a device-session expires # after no activity. Valid units are 'ms', 's', 'm', 'h'. Note that these # values can be combined, e.g. '24h30m15s'. device_session_ttl="744h0m0s" # Get downlink data delay. # # This is the time that LoRa Server waits between forwarding data to the # application-server and reading data from the queue. A higher value # means that the application-server has more time to schedule a downlink # queue item which can be processed within the same uplink / downlink # transaction. # Please note that this value has influence on the uplink / downlink # roundtrip time. Setting this value too high means LoRa Server will be # unable to respond to the device within its receive-window. get_downlink_data_delay="100ms" # LoRaWAN regional band configuration. # # Note that you might want to consult the LoRaWAN Regional Parameters # specification for valid values that apply to your region. # See: [] # LoRaWAN band to use. # # Valid values are: # * AS_923 # * AU_915_928 # * CN_470_510 # * CN_779_787 # * EU_433 # * EU_863_870 # * IN_865_867 # * KR_920_923 # * RU_864_870 # * US_902_928 name="CN_470_510" # Enforce 400ms dwell time # # Some band configurations define the max payload size for both dwell-time # limitation enabled as disabled (e.g. AS 923). In this case the # dwell time setting must be set to enforce the max payload size # given the dwell-time limitation. For band configuration where the dwell-time is # always enforced, setting this flag is not required. dwell_time_400ms=false # Enforce repeater compatibility # # Most band configurations define the max payload size for both an optional # repeater encapsulation layer as for setups where a repeater will never # be used. The latter case increases the max payload size for some data-rates. # In case a repeater might used, set this flag to true. repeater_compatible=false # LoRaWAN network related settings. [network_server.network_settings] # Installation margin (dB) used by the ADR engine. # # A higher number means that the network-server will keep more margin, # resulting in a lower data-rate but decreasing the chance that the # device gets disconnected because it is unable to reach one of the # surrounded gateways. installation_margin=10 # Class A RX1 delay # # 0=1sec, 1=1sec, ... 15=15sec. A higher value means LoRa Server has more # time to respond to the device as the delay between the uplink and the # first receive-window will be increased. rx1_delay=1 # RX1 data-rate offset # # Please consult the LoRaWAN Regional Parameters specification for valid # options of the configured rx1_dr_offset=0 # RX2 data-rate # # When set to -1, the default RX2 data-rate will be used for the configured # LoRaWAN band. # # Please consult the LoRaWAN Regional Parameters specification for valid # options of the configured rx2_dr=-1 # RX2 frequency # # When set to -1, the default RX2 frequency will be used. # # Please consult the LoRaWAN Regional Parameters specification for valid # options of the configured rx2_frequency=-1 # Downlink TX Power (dBm) # # When set to -1, the downlink TX Power from the configured band will # be used. # # Please consult the LoRaWAN Regional Parameters and local regulations # for valid and legal options. Note that the configured TX Power must be # supported by your gateway(s). downlink_tx_power=-1 # Disable mac-commands # # When set, uplink mac-commands are ignored and the network-server will not # send mac-commands to the devices. This is intended for testing only. disable_mac_commands=false # Disable ADR # # When set, this globally disables ADR. disable_adr=false # Enable only a given sub-set of channels # # Use this when ony a sub-set of the by default enabled channels are being # used. For example when only using the first 8 channels of the US band. # # Example: # enabled_uplink_channels=[0, 1, 2, 3, 4, 5, 6, 7] enabled_uplink_channels=[] # Extra channel configuration. # # Use this for LoRaWAN regions where it is possible to extend the by default # available channels with additional channels (e.g. the EU band). # The first 5 channels will be configured as part of the OTAA join-response # (using the CFList field). # The other channels (or channel / data-rate changes) will be (re)configured # using the NewChannelReq mac-command. # # Example: # [[network_server.network_settings.extra_channels]] # frequency=867100000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867300000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867500000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867700000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867900000 # min_dr=0 # max_dr=5 # Class B settings [network_server.network_settings.class_b] # Ping-slot data-rate. ping_slot_dr=0 # Ping-slot frequency (Hz) # # Set this to 0 to use the default frequency plan for the configured region # (which could be frequency hopping). ping_slot_frequency=0 # Rejoin-request settings # # When enabled, LoRa Server will request the device to send a rejoin-request # every time when one of the 2 conditions below is met (frame count or time). [network_server.network_settings.rejoin_request] # Request device to periodically send rejoin-requests enabled=false # The device must send a rejoin-request type 0 at least every 2^(max_count_n + 4) # uplink messages. Valid values are 0 to 15. max_count_n=0 # The device must send a rejoin-request type 0 at least every 2^(max_time_n + 10) # seconds. Valid values are 0 to 15. # # 0 = roughly 17 minutes # 15 = about 1 year max_time_n=0 # Network-server API # # This is the network-server API that is used by LoRa App Server or other # custom components interacting with LoRa Server. [network_server.api] # ip:port to bind the api server bind="" # ca certificate used by the api server (optional) ca_cert="" # tls certificate used by the api server (optional) tls_cert="" # tls key used by the api server (optional) tls_key="" # Gateway statistics settings. [network_server.gateway.stats] # Create non-existing gateways on receiving of stats # # When set to true, LoRa Server will create the gateway when it receives # statistics for a gateway that does not yet exist. create_gateway_on_stats=true # Aggregation timezone # # This timezone is used for correctly aggregating the statistics (for example # 'Europe/Amsterdam'). # To get the list of supported timezones by your PostgreSQL database, # execute the following SQL query: # select * from pg_timezone_names; # When left blank, the default timezone of your database will be used. timezone="" # Aggregation intervals to use for aggregating the gateway stats # # Valid options: second, minute, hour, day, week, month, quarter, year. # When left empty, no statistics will be stored in the database. # Note, LoRa App Server expects at least "minute", "day", "hour"! aggregation_intervals=["minute", "hour", "day"] # MQTT gateway backend settings. # # This is the backend communicating with the LoRa gateways over a MQTT broker. [network_server.gateway.backend.mqtt] # MQTT topic templates for the different MQTT topics. # # The meaning of these topics are documented at: # # # The default values match the default expected configuration of the # LoRa Gateway Bridge MQTT backend. Therefore only change these values when # absolutely needed. # Use "{{ .MAC }}" as an substitution for the LoRa gateway MAC. uplink_topic_template="gateway/+/rx" downlink_topic_template="gateway/{{ .MAC }}/tx" stats_topic_template="gateway/+/stats" ack_topic_template="gateway/+/ack" config_topic_template="gateway/{{ .MAC }}/config" # MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws) server="tcp://localhost:1883" # Connect with the given username (optional) username="" # Connect with the given password (optional) password="" # Quality of service level # # 0: at most once # 1: at least once # 2: exactly once # # Note: an increase of this value will decrease the performance. # For more information: qos=0 # Clean session # # Set the "clean session" flag in the connect message when this client # connects to an MQTT broker. By setting this flag you are indicating # that no messages saved by the broker for this client should be delivered. clean_session=true # Client ID # # Set the client id to be used by this client when connecting to the MQTT # broker. A client id must be no longer than 23 characters. When left blank, # a random id will be generated. This requires clean_session=true. client_id="" # CA certificate file (optional) # # Use this when setting up a secure connection (when server uses ssl://...) # but the certificate used by the server is not trusted by any CA certificate # on the server (e.g. when self generated). ca_cert="" # TLS certificate file (optional) tls_cert="" # TLS key file (optional) tls_key="" # Default join-server settings. [join_server.default] # hostname:port of the default join-server # # This API is provided by LoRa App Server. server="http://localhost:8003" # ca certificate used by the default join-server client (optional) ca_cert="" # tls certificate used by the default join-server client (optional) tls_cert="" # tls key used by the default join-server client (optional) tls_key="" # Join-server KEK set. # # These KEKs (Key Encryption Keys) are used to decrypt the network related # session-keys received from the join-server on a (re)join-accept. # Please refer to the LoRaWAN Backend Interface specification # 'Key Transport Security' section for more information. # # Example (the [[join_server.kek.set]] can be repeated): # [[join_server.kek.set]] # # KEK label. # label="000000" # # Key Encryption Key. # kek="01020304050607080102030405060708" # Network-controller configuration. [network_controller] # hostname:port of the network-controller api server (optional) server="" # ca certificate used by the network-controller client (optional) ca_cert="" # tls certificate used by the network-controller client (optional) tls_cert="" # tls key used by the network-controller client (optional) tls_key="" ![图片说明]( ![图片说明](


<div class="post-text" itemprop="text"> <p>When opening new connections, I sometimes get the "use of closed network connection" error at <code>client.Socket.Read(message)</code> in the <code>receive</code> function.</p> <p>This is odd enough, but what's really weird is that I then get an error for trying to close a closed channel at <code>close(connection.Data)</code>, when the client is passed through <code>manager.unregister</code>.</p> <p>I'm clearly missing something here, because all of my logging suggests that these are entirely new and unused channels and sockets.</p> <p>Any ideas?</p> <p>I'm using Golang version 1.10.</p> <pre><code>type ClientManager struct { clients map[*types.Client]bool broadcast chan []byte register chan *types.Client unregister chan *types.Client } func CloseSocket(client *types.Client) { client.M.Lock() defer client.M.Unlock() if !client.Closed { client.Socket.Close() client.Closed = true } } func (manager *ClientManager) receive(client *types.Client) { for { message := make([]byte, 4096) fmt.Println("client listening:", client) length, err := client.Socket.Read(message) if err != nil { fmt.Println(err) manager.unregister &lt;- client CloseSocket(client) break } if length &gt; 0 { request := util.DecodeGob(message) HandleRequest(request, client) } } } func (manager *ClientManager) start() { fmt.Println("Listening for TCP connections...") for { select { case connection := &lt;-manager.register: manager.clients[connection] = true fmt.Println("Added new connection!") case connection := &lt;-manager.unregister: if _, ok := manager.clients[connection]; ok { close(connection.Data) delete(manager.clients, connection) fmt.Println("manager.clients:", manager.clients) fmt.Println("A connection has terminated!") } } } func Run(port string) { fmt.Println("Starting server...") listener, error := net.Listen("tcp", port) if error != nil { fmt.Println(error) } manager := ClientManager{ clients: make(map[*types.Client]bool), broadcast: make(chan []byte), register: make(chan *types.Client), unregister: make(chan *types.Client), } go manager.start() fmt.Println("Server running on port " + port + "!") for { connection, _ := listener.Accept() if error != nil { fmt.Println(error) } fmt.Println(" Remote address:", connection.RemoteAddr()) client := &amp;types.Client{Socket: connection, Data: make(chan []byte)} manager.register &lt;- client go manager.receive(client) go manager.send(client) } } </code></pre> <p>And the logging: </p> <pre><code>Starting server... Server running on port :9000! Listening for TCP connections... Remote address: [::1]:54857 Added new connection! client listening: &amp;{0xc42000e528 0xc42007e240 false} EOF manager.clients: map[] A connection has terminated! Remote address: [::1]:54860 Added new connection! client listening: &amp;{0xc4200e2000 0xc4200e6000 false} EOF manager.clients: map[] A connection has terminated! Remote address: [::1]:54863 Added new connection! client listening: &amp;{0xc420110000 0xc420116000 false} read tcp [::1]:9000-&gt;[::1]:54863: use of closed network connection panic: close of closed channel goroutine 5 [running]: go_gomoku/server.(*ClientManager).start(0xc42000c920) /Users/themainframe/go/src/go_gomoku/server/server.go:397 +0x35c created by go_gomoku/server.Run /Users/themainframe/go/src/go_gomoku/server/server.go:434 +0x242 </code></pre> <p>Edit: added mutex to client, no more race output. Bug still present.</p> </div>


软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、



Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...




总课时80+,提供源码和相关资料 本课程从Python零基础到纯Python项目实战。内容详细,案例丰富,覆盖了Python知识的方方面面,学完后不仅对Python知识有个系统化的了解,让你从Python小白变编程大牛! 课程包含: 1.python安装 2.变量、数据类型和运算符 3.选择结构 4.循环结构 5.函数和模块 6.文件读写 7.了解面向对象 8.异常处理


获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:itxy41)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!


本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。






设置复位开关。当按下复位开关时,秒表清零并做好计时准备。在任何情况下只要按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。 设置启/停开关。当按下启/停开关后,将




董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

计算机操作系统 第三版.pdf

计算机操作系统 第三版 本书全面介绍了计算机系统中的一个重要软件——操作系统(OS),本书是第三版,对2001年出版的修订版的各章内容均作了较多的修改,基本上能反映当前操作系统发展的现状,但章节名称基

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂


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


【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑




&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!


发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

定量遥感中文版 梁顺林著 范闻捷译


GIS程序设计教程 基于ArcGIS Engine的C#开发实例

张丰,杜震洪,刘仁义编著.GIS程序设计教程 基于ArcGIS Engine的C#开发实例.浙江大学出版社,2012.05


系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以




微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?




用verilog HDL语言编写的秒表




相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行