A. 如何禁用bind
其命令格式如下所示。 # bind-chroot-adminUsage:-e|--enable:enablethe bind-chroot environment-d|--disable: disable the bind-chroot environment-s|--sync:syncfiles between thebindchrootand/environments, so they are correctforthe current state of the bind-chroot(enabled/disabled)$BIND_CHROOT_PREFIX , default/var/named/chroot , is the location of thechroot.$BIND_DIR , default/var/named, is the default un-chrootedbinddirectory. 在bind-chroot-admin命令後加-e選項可以啟用chroot功能,加-d選項禁用chroot功能,加-s選項同步配置文件。在實際工作中,最好要啟用chroot功能,可以使伺服器的安全性能得到提高,但在本章中,為了講解和實驗的方便,以及減少出錯的可能性,禁用了chroot功能。
B. bind軟體情侶雙方可以視頻嗎
bind軟體,情侶雙方可以視頻,有情侶異地同屏看視頻的功能。
C. bind怎麼鎖屏。就是那個一起看電影的應用
一般我們可以點擊自己想要看的這個視頻,點擊上面它有一個鎖的這個標識,點擊這個鎖之後,你點擊屏幕什麼地方它都沒反應了,就可以點那個鎖給它解開就行了。
D. 以bind模式開啟的服務,怎麼在finish掉之後能服務沒有關閉
按使用方式分類:
類別 區別
startService 啟動的服務 主要用於啟動一個服務執行後台任務,不進行通信。停止服務使用stopService
bindService 啟動的服務 該方法啟動的服務要進行通信。停止服務使用unbindService
startService 同時也 bindService 啟動的服務 停止服務應同時使用stepService與unbindService
以上面三種方式啟動的服務其生命周期也有區別,將在隨後給出。
2、Service 與 Thread 的區別
很多時候,你可能會問,為什麼要用 Service,而不用 Thread 呢,因為用 Thread 是很方便的,比起 Service
也方便多了,下面我詳細的來解釋一下。
1). Thread:Thread 是程序執行的最小單元,它是分配CPU的基本單位。可以用 Thread 來執行一些非同步的操作。
2). Service:Service 是android的一種機制,當它運行的時候如果是Local Service,那麼對應的 Service
是運行在主進程的 main 線程上的。如:onCreate,onStart 這些函數在被系統調用的時候都是在主進程的 main 線程上運行的。如果是Remote
Service,那麼對應的 Service 則是運行在獨立進程的 main 線程上。因此請不要把 Service
理解成線程,它跟線程半毛錢的關系都沒有!
既然這樣,那麼我們為什麼要用 Service 呢?其實這跟 android 的系統機制有關,我們先拿 Thread 來說。Thread 的運行是獨立於
Activity 的,也就是說當一個 Activity 被 finish 之後,如果你沒有主動停止 Thread 或者 Thread 里的 run
方法沒有執行完畢的話,Thread 也會一直執行。因此這里會出現一個問題:當 Activity 被 finish 之後,你不再持有該 Thread
的引用。另一方面,你沒有辦法在不同的 Activity 中對同一 Thread 進行控制。
舉個例子:如果你的 Thread 需要不停地隔一段時間就要連接伺服器做某種同步的話,該 Thread 需要在 Activity
沒有start的時候也在運行。這個時候當你 start 一個 Activity 就沒有辦法在該 Activity 裡面控制之前創建的
Thread。因此你便需要創建並啟動一個 Service ,在 Service 裡面創建、運行並控制該 Thread,這樣便解決了該問題(因為任何
Activity 都可以控制同一 Service,而系統也只會創建一個對應 Service 的實例)。
因此你可以把 Service 想像成一種消息服務,而你可以在任何有 Context 的地方調用
Context.startService、Context.stopService、
Context.bindService,Context.unbindService,來控制它,你也可以在 Service 里注冊
BroadcastReceiver,在其他地方通過發送 broadcast 來控制它,當然這些都是 Thread 做不到的。
3、Service的生命周期1). 被啟動的服務的生命周期:如果一個Service被某個Activity 調用 Context.startService
方法啟動,那麼不管是否有Activity使用bindService綁定或unbindService解除綁定到該Service,該Service都
在後台運行。如果一個Service被startService
方法多次啟動,那麼onCreate方法只會調用一次,onStart將會被調用多次(對應調用startService的次數),並且系統只會創建
Service的一個實例(因此你應該知道只需要一次stopService調用)。該Service將會一直在後台運行,而不管對應程序的
Activity是否在運行,直到被調用stopService,或自身的stopSelf方法。當然如果系統資源不足,android系統也可能結束服 務。
2). 被綁定的服務的生命周期:如果一個Service被某個Activity 調用 Context.bindService 方法綁定啟動,不管調用
bindService 調用幾次,onCreate方法都只會調用一次,同時onStart方法始終不會被調用。當連接建立之後,Service將會一直運行,除非調用
Context.unbindService 斷開連接或者之前調用bindService 的 Context
不存在了(如Activity被finish的時候),系統將會自動停止Service,對應onDestroy將被調用。
3).
被啟動又被綁定的服務的生命周期:如果一個Service又被啟動又被綁定,則該Service將會一直在後台運行。並且不管如何調用,onCreate
始終只會調用一次,對應startService調用多少次,Service的onStart便會調用多少次。調用unbindService將不會停止
Service,而必須調用 stopService 或 Service的 stopSelf 來停止服務。
4). 當服務被停止時清除服務:當一個Service被終止(1、調用stopService;2、調用stopSelf;3、不再有綁定的連接(沒有被啟
動))時,onDestroy方法將會被調用,在這里你應當做一些清除工作,如停止在Service中創建並運行的線程。
特別注意:
1、你應當知道在調用 bindService 綁定到Service的時候,你就應當保證在某處調用 unbindService 解除綁定(盡管
Activity 被 finish 的時候綁定會自動解除,並且Service會自動停止);
2、你應當注意 使用 startService 啟動服務之後,一定要使用
stopService停止服務,不管你是否使用bindService;
3、同時使用 startService 與 bindService 要注意到,Service
的終止,需要unbindService與stopService同時調用,才能終止 Service,不管 startService 與 bindService
的調用順序,如果先調用 unbindService 此時服務不會自動終止,再調用 stopService 之後服務才會停止,如果先調用 stopService
此時服務也不會終止,而再調用 unbindService 或者 之前調用 bindService 的 Context 不存在了(如Activity 被
finish 的時候)之後服務才會自動停止;
4、當在旋轉手機屏幕的時候,當手機屏幕在逗橫地逗豎地變換時,此時如果你的 Activity 如果會自動旋轉的話,旋轉其實是 Activity
的重新創建,因此旋轉之前的使用 bindService 建立的連接便會斷開(Context 不存在了),對應服務的生命周期與上述相同。
5、在 sdk 2.0 及其以後的版本中,對應的 onStart 已經被否決變為了 onStartCommand,不過之前的 onStart
任然有效。這意味著,如果你開發的應用程序用的 sdk 為 2.0 及其以後的版本,那麼你應當使用 onStartCommand 而不是 onStart。
4、startService 啟動服務
想要用 startService 啟動服務,不管Local 還是 Remote 我們需要做的工作都是一樣簡單。當然要記得在
Androidmanifest.xml 中注冊 service。
根據上面的生命周期,我們便會給出 Service 中的代碼框架:
package com.newcj.test;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class LocalService1 extends Service {
/**
* onBind 是 Service 的虛方法,因此我們不得不實現它。
* 返回 null,表示客服端不能建立到此服務的連接。
*/
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
對應生命周期系統回調函數上面已經說明,在對應地方加上適當的代碼即可。下面是啟動與停止 Service 的代碼:
// 啟動一個 Activity
startActivity(new Intent(this, LocalService1.class));
...
// 停止一個 Activity
stopService(new Intent(this, LocalService1.class));
對應的 Intent 為標志服務類的 Intent。
5、Local 與 Remote 服務綁定
同樣記得在 Androidmanifest.xml 中注冊 service
1). Local 服務綁定:Local 服務的綁定較簡單,首先在 Service 中我們需要實現 Service 的抽象方法
onBind,並返回一個實現 IBinder 介面的對象。
E. 如何在BIND9中徹底禁用遞歸,限制只解析本機域名
allow-recursion貌似不需要關閉cache。一直認為allow-recursion和recursion是完全一樣的,看來不是這樣。當然,這個也許是我的測試有限。
附1:轉發BIND9默認是關閉的,如果需要聲明可以在named.conf.options這樣寫
forwarders {};
forward only;
附2:如何關閉BIND9對於ls命令功能,對於有slave或者特殊需要的,用ip替換none即可
allow-transfer { none; };
F. linux下不知如何卸載bind
不知道你是怎麼安裝的,用程序包還是自己編譯安裝的
若果自己編譯的話:make uninstall 或 手動刪除(就是直接刪除對應的文件)
若果是軟體包的話,這樣做:
apt-get remove softname1 softname2 softname3……
卸載並清除配置 apt-get remove --purge softname1
如果centos下用yum安裝的話,這么處理:
卸載一個軟體時
yum -y remove httpd
卸載多個相類似的軟體時
yum -y remove httpd*
卸載多個非類似軟體時
yum -y remove httpd php php-gd mysqld
G. linux bind函數怎麼釋放
必須不能,若要第二次綁定,必須將第一次的close,而系統釋放這個socket資源是需要一段時間的所以bind之前執行 int tmp = 1; setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(int)); 目的是設置套接字屬性為,當tmp非0的時候重用bin...
H. bind 怎麼解決
參考下面:
SOCKET server_socket;
SOCKADDR_IN internet_addr;
int ret, error, addr_len;
PROXY_SOCK_PARAM_T *_param;
HANDLE hThread;
unsigned int thid;
// 創建 socket
I. 如何解除綁定bind
41
880
990
他會。
J. 如何用bind9實現DNS劫持
很多isp都用f5來做,所有bind回應的nxdomain的數據包在流經f5的時候,數據包被篡改。