添加如下内容到/etc/locale.conf
1 2 3 4 |
LANG=en_US.utf8 LC_COLLATE=C |
然后执行
1 2 3 |
locale-gen |
...
Continue reading...添加如下内容到/etc/locale.conf
1 2 3 4 |
LANG=en_US.utf8 LC_COLLATE=C |
然后执行
1 2 3 |
locale-gen |
...
Continue reading...一. 客户端代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# 命名为client.py import socket import sys import time # Create a TCP/IP socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Connect the socket to the port where the server is listening # 注意修改适配目标主机的ip地址和监听端口 server_address = ('172.0.0.1', 20000) #print('connecting to {} port {}'.format(*server_address)) sock.connect(server_address) try: # Send data message = str(round(time.time()*1e6)) message = bytes(message, 'utf8') #print('sending {!r}'.format(message)) sock.sendall(message) # Look for the response amount_received = 0 amount_expected = len(message) while amount_received < amount_expected: data = sock.recv(32) amount_received += len(data) str_data = data.decode('utf8') #print(str_data) index = str_data.index('|') timestamp = str_data[:index] latency = str_data[index+1:] now = round(time.time()*1e6) diff = int(now)-int(timestamp) #print('Receive latency {0} peer latency:{1}'.format(diff, latency)) y1 = int(diff) x1 = int(latency) a = (x1-y1)*1.0/2 b = -(y1+x1)*1.0/2 print('Current machine clock - Target machine clock = {0} ns Network latency = {1} ns'.format(b,a)) finally: sock.close() |
二....
Continue reading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
#!/bin/sh index_char() { # 参数需>=两个 if [ $# -lt 2 ]; then echo 'Lack of Parameters' return fi # n: 待索引第n个字符 declare -i n if [ $# -eq 2 ]; then n=1 elif [ $# -eq 3 ]; then n=$3 fi string=$1 target=$2 declare -i target_len=`expr length $target` if [ $target_len -gt 1 ]; then echo 'Not support to index string' return fi declare -i left=0 declare -i index=0 declare -i len=${#string} declare -i result=0 for i in `seq $n`; do index=`expr index $string $target` left=$len-$index string=${string:$index:${left}} result=$result+$index if [ $index -eq 0 ]; then echo 'Out Of Range' break; fi done echo $result } index_char $@ |
Continue reading...
一. 在服务器创建时间差计算脚本 存于print_diff_time.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash while [ true ]; do read client_time declare -i now declare -i diff now=$(($(date +%s%N)/1000000)) diff=now-$client_time echo 'diff time is: '$diff' us' done |
...
Continue reading...一. 添加脚本 存于~/shell/mycd.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#!bin/bash check_history_file_size() { history_file=$1 # 文件行数超过1000清空 lines=`wc -l $history_file | awk '{print $1}'` if [ $lines -gt 1000 ]; then echo '' > $history_file fi } storage_current_dir() { current_dir=`pwd -P` echo $current_dir >> $history_file } mycd() { if [ $# -eq 0 ]; then cd ~ return fi history_file="${HOME}/.previous_dir" touch $history_file # 如果第一个参数是以横杠开头 if [ ${1:0:1} = '-' ]; then if [ ${1:1:1} = 'o' ]; then tail $history_file -n 10 return fi len=${#1} target_dir=`tail -n $len $history_file | head -n 1` storage_current_dir cd $target_dir return fi check_history_file_size $history_file storage_current_dir cd $@ } |
...
Continue reading...