① c語言可以編寫通過無線網路傳輸的協議嗎
協議就是通訊的時候什麼東西表示什麼,這個和語言沒有關系,理論上用什麼語言都能實現。
② 有線網路編程無線網路 無線AP
可以。。電腦開放網路共享。。以電腦為無線發射器,
③ 想用c語言寫一個「輸入密碼,連接指定wifi」的程序,誰來幫幫我!
如果是wnidows平台的無限網路可以用WLAN API。我只試過用WLAN列出在范圍內的無線網路。後面就沒做了。Android通常不會用C語言做,其他平台我就不知道了。
④ 三星s5手機WIFI的高級設定內默認是怎樣設置
手機無線網路高級設置路徑:設定-(連接)-WLAN-選擇一個無線熱點-勾選「顯示高級選項」,若IP設定選擇「靜態」,則可設置IP地址、網關、網路前綴長度、DNS1、DNS2。
⑤ android網路編程httpclient這塊 使用WIFI可以連接伺服器端,但是換成GPRS就不行。
因為你的伺服器和wifi是同一區域網,當然可以訪問,gprs又不在區域網內,所以不能訪問。
⑥ 安卓怎麼編程實現wifi安全檢測
在Android中對Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面。主要包括以下幾個類和介面: 1.ScanResult 主要用來描述已經檢測出的接入點,包括接入點的地址,接入點的名稱,身份認證,頻率,信號強度等信息。 2.WifiConfiguration Wifi網路的配置,包括安全設置等。 3.WifiInfo wifi無線連接的描述,包括接入點,網路連接狀態,隱藏的接入點,IP地址,連接速度,MAC地址,網路ID,信號強度等信息。這里簡單介紹一下這里的方法: getBSSID() 獲取BSSID getDetailedStateOf() 獲取客戶端的連通性 getHiddenSSID() 獲得SSID 是否被隱藏 getIpAddress() 獲取IP 地址 getLinkSpeed() 獲得連接的速度 getMacAddress() 獲得Mac 地址 getRssi() 獲得802.11n 網路的信號 getSSID() 獲得SSID getSupplicanState() 返回具體客戶端狀態的信息 4.WifiManager 這個不用說,就是用來管理我們的wifi 連接,這里已經定義好了一些類,可以供我們使用。 獲取WIFI網卡的狀態 WIFI網卡的狀態是由一系列的整形常量來表示的。 1.WIFI_STATE_DISABLED : WIFI網卡不可用(1) 2.WIFI_STATE_DISABLING : WIFI網卡正在關閉(0) 3.WIFI_STATE_ENABLED : WIFI網卡可用(3) 4.WIFI_STATE_ENABLING : WIFI網正在打開(2) (WIFI啟動需要一段時間) 5.WIFI_STATE_UNKNOWN : 未知網卡狀態 最重要的一個就是 你要設置許可權 最重要的一個就是 你要設置許可權 希望幫助到你
⑦ 如何運用socket網路編程實現上位機和下位機之間通過wifi進行通信
用wifi還是有線那是系統的事,你要做的就是保證上位機下位機能加入同一網路就可以了(或者上位機用公網地址,下位機能經過區域網訪問互聯網)
⑧ wifi的設計者是誰如何學習網路,目前什麼無線傳輸方式最快。網路編程的定義是什麼,我想學習網路的
樓主你好 、WIFI技術由澳洲政府的研究機構CSIRO在90年代發明並於1996年在美國成功申請了無線網技術專利。 發明人是悉尼大學工程系畢業生Dr John O'Sullivan領導的一群由悉尼大學工程系畢業生組成的研究小組 。
學習網路一般兩種方法。一是自學、再者就是培訓班了!
而在計算機網路領域,無線通信介質主要是微波和衛星。
網路編程的定義:
網路編程從大的方面說就是對信息的發送到接收,中間傳輸為物理線路的作用,編程人員可以不用考慮……
網路編程最主要的工作就是在發送端把信息通過規定好的協議進行組裝包,在接收端按照規定好的協議把包進行解析,從而提取出對應的信息,達到通信的目的!中間最主要的就是數據包的組裝,數據包的過濾,數據包的捕獲,數據包的分析,當然最後再做一些處理!
代碼,開發工具,資料庫,伺服器架設和網頁設計這5部分你都要接觸
學習網路建議多去烏雲看看 謝謝
⑨ wifi開發模塊需要什麼基本知識,我用51單片機可以學會它嗎
wifi開發模塊主要看你怎麼開發唄,如果你想開發內部的程序,那你差不多瞎折騰了,如果你想開發自己物聯網的應用,比我,手機控制繼電器,電腦wifi控制繼電器, 遠程採集溫濕度的話,你有51的基礎就可以了,我以前也沒有接觸過wifi模塊一塊的東西,後面由於公司要做相關的wifi項目,用了零度創意的51單片機wifi開發板http://www.hx-wl.com.cn/51wifi/有詳細的單片機源代碼和手機APP源代碼,對我幫助很大,最好完成了公司安排的項目。希望對你也有幫助。。
⑩ 如何以編程方式創建和讀取的WEP / EAP無線網路配置中的Android
1. 第1部分:創建一個無線網路的WEP配置編程 。
第2部分:閱讀一個WEP無線網路配置編程
再次Straighforward。
第3部分:讀一個EAP的WiFi配置編程
現在,這是棘手的。你可以找到它通過香草的Android用戶界面中WifiDialog.java節省了EAP的WiFi配置的代碼。唔夠方便我們在我們的應用程序的代碼,那麼不要!如果你碰巧去嘗試這一點,你會得到錯誤說找不到符號eap,phase,client_cert等。有點詳細的調查EnterpriseFieldis private內WiFiConfiguration類和所有的符號,我們無法找到是類型EnterpriseField。好了,我們已經打了一個路障,我們需要這些欄位讀取/保存一個EAP配置,但我們並沒有以編程方式訪問他們!Java Reflection API救援
好吧,我不是一個Java專家,所以我不會越來越到的反射API的細節,例如,你可以谷歌的教程或到達這里。
為了保持簡短而親切,反射API允許你檢查類,介面,欄位在不知道的類,方法等,還可以實例化新對象,並獲取/設置現場reflection.And,重要的是能思考的幫助您訪問私有的類裡面嗯,這是我們需要做的不是嗎? :)
讓我們來檢查代碼示例現在它顯示了如何讀取一個EAP的WiFi反射API。作為一個片段將記錄配置到一個文件,並將其保存在SD卡....非常漂亮..誒;)反射API概述一點點,我相信ING下面的代碼是很容易。
private static final String INT_PRIVATE_KEY = "private_key";
private static final String INT_PHASE2 = "phase2";
private static final String INT_PASSWORD = "password";
private static final String INT_IDENTITY = "identity";
private static final String INT_EAP = "eap";
private static final String INT_CLIENT_CERT = "client_cert";
private static final String INT_CA_CERT = "ca_cert";
private static final String INT_ANONYMOUS_IDENTITY = "anonymous_identity";
final String INT_ENTERPRISEFIELD_NAME = "android.net.wifi.WifiConfiguration$EnterpriseField";
第4部分:儲存的EAP無線網路配置編程
如果你已經讀過的部分3,您已經了解了反射mojo,在這里工作,如果你是直接跳躍到本節,請在第3部分的代碼段之前,看了介紹,你會加快速度通過代碼來這里微風!
void saveEapConfig(String passString, String userName)
{
/********************************Configuration Strings****************************************************/
final String ENTERPRISE_EAP = "TLS";
final String ENTERPRISE_CLIENT_CERT = " CodeGo.net
final String ENTERPRISE_PRIV_KEY = " CodeGo.net
//CertificateName = Name given to the certificate while installing it
/*Optional Params- My wireless Doesn't use these*/
final String ENTERPRISE_PHASE2 = "";
final String ENTERPRISE_ANON_IDENT = "ABC";
final String ENTERPRISE_CA_CERT = "";
/********************************Configuration Strings****************************************************/
/*Create a WifiConfig*/
WifiConfiguration selectedConfig = new WifiConfiguration();
/*AP Name*/
selectedConfig.SSID = "\"SSID_Name\"";
/*Priority*/
selectedConfig.priority = 40;
/*Enable Hidden SSID*/
selectedConfig.hiddenSSID = true;
/*Key Mgmnt*/
selectedConfig.allowedKeyManagement.clear();
selectedConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
selectedConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
/*Group Ciphers*/
selectedConfig.allowedGroupCiphers.clear();
selectedConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
selectedConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
selectedConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
selectedConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
/*Pairwise ciphers*/
selectedConfig.allowedPairwiseCiphers.clear();
selectedConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
selectedConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
/*Protocols*/
selectedConfig.allowedProtocols.clear();
selectedConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
selectedConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
// Enterprise Settings
// Reflection magic here too, need access to non-public APIs
try {
// Let the magic start
Class[] wcClasses = WifiConfiguration.class.getClasses();
// null for overzealous java compiler
Class wcEnterpriseField = null;
for (Class wcClass : wcClasses)
if (wcClass.getName().equals(INT_ENTERPRISEFIELD_NAME))
{
wcEnterpriseField = wcClass;
break;
}
boolean noEnterpriseFieldType = false;
if(wcEnterpriseField == null)
noEnterpriseFieldType = true; // Cupcake/Donut access enterprise settings directly
Field wcefAnonymousId = null, wcefCaCert = null, wcefClientCert = null, wcefEap = null, wcefIdentity = null, wcefPassword = null, wcefPhase2 = null, wcefPrivateKey = null;
Field[] wcefFields = WifiConfiguration.class.getFields();
// Dispatching Field vars
for (Field wcefField : wcefFields)
{
if (wcefField.getName().equals(INT_ANONYMOUS_IDENTITY))
wcefAnonymousId = wcefField;
else if (wcefField.getName().equals(INT_CA_CERT))
wcefCaCert = wcefField;
else if (wcefField.getName().equals(INT_CLIENT_CERT))
wcefClientCert = wcefField;
else if (wcefField.getName().equals(INT_EAP))
wcefEap = wcefField;
else if (wcefField.getName().equals(INT_IDENTITY))
wcefIdentity = wcefField;
else if (wcefField.getName().equals(INT_PASSWORD))
wcefPassword = wcefField;
else if (wcefField.getName().equals(INT_PHASE2))
wcefPhase2 = wcefField;
else if (wcefField.getName().equals(INT_PRIVATE_KEY))
wcefPrivateKey = wcefField;
}
Method wcefSetValue = null;
if(!noEnterpriseFieldType){
for(Method m: wcEnterpriseField.getMethods())
//System.out.println(m.getName());
if(m.getName().trim().equals("setValue"))
wcefSetValue = m;
}
/*EAP Method*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefEap.get(selectedConfig), ENTERPRISE_EAP);
}
else
{
wcefEap.set(selectedConfig, ENTERPRISE_EAP);
}
/*EAP Phase 2 Authentication*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefPhase2.get(selectedConfig), ENTERPRISE_PHASE2);
}
else
{
wcefPhase2.set(selectedConfig, ENTERPRISE_PHASE2);
}
/*EAP Anonymous Identity*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefAnonymousId.get(selectedConfig), ENTERPRISE_ANON_IDENT);
}
else
{
wcefAnonymousId.set(selectedConfig, ENTERPRISE_ANON_IDENT);
}
/*EAP CA Certificate*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefCaCert.get(selectedConfig), ENTERPRISE_CA_CERT);
}
else
{
wcefCaCert.set(selectedConfig, ENTERPRISE_CA_CERT);
}
/*EAP Private key*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefPrivateKey.get(selectedConfig), ENTERPRISE_PRIV_KEY);
}
else
{
wcefPrivateKey.set(selectedConfig, ENTERPRISE_PRIV_KEY);
}
/*EAP Identity*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefIdentity.get(selectedConfig), userName);
}
else
{
wcefIdentity.set(selectedConfig, userName);
}
/*EAP Password*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefPassword.get(selectedConfig), passString);
}
else
{
wcefPassword.set(selectedConfig, passString);
}
/*EAp Client certificate*/
if(!noEnterpriseFieldType)
{
wcefSetValue.invoke(wcefClientCert.get(selectedConfig), ENTERPRISE_CLIENT_CERT);
}
else
{
wcefClientCert.set(selectedConfig, ENTERPRISE_CLIENT_CERT);
}
// Adhoc for CM6
// if non-CM6 fails gracefully thanks to nested try-catch
try{
Field wcAdhoc = WifiConfiguration.class.getField("adhocSSID");
Field wcAdhocFreq = WifiConfiguration.class.getField("frequency");
//wcAdhoc.setBoolean(selectedConfig, prefs.getBoolean(PREF_ADHOC,
// false));
wcAdhoc.setBoolean(selectedConfig, false);
int freq = 2462; // default to channel 11
//int freq = Integer.parseInt(prefs.getString(PREF_ADHOC_FREQUENCY,
//"2462")); // default to channel 11
//System.err.println(freq);
wcAdhocFreq.setInt(selectedConfig, freq);
} catch (Exception e)
{
e.printStackTrace();
}
} catch (Exception e)
{
// TODO Auto-generated catch block
// FIXME As above, what should I do here?
e.printStackTrace();
}
WifiManager wifiManag = (WifiManager) getSystemService(Context.WIFI_SERVICE);
boolean res1 = wifiManag.setWifiEnabled(true);
int res = wifiManag.addNetwork(selectedConfig);
Log.d("WifiPreference", "add Network returned " + res );
boolean b = wifiManag.enableNetwork(selectedConfig.networkId, false);
Log.d("WifiPreference", "enableNetwork returned " + b );
boolean c = wifiManag.saveConfiguration();
Log.d("WifiPreference", "Save configuration returned " + c );
boolean d = wifiManag.enableNetwork(res, true);
Log.d("WifiPreference", "enableNetwork returned " + d );
}
以及多數民眾贊成它!我希望這可以幫助開發者丟失,:)
希望這會有所幫助的