① 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 );
}
以及多数民众赞成它!我希望这可以帮助开发者丢失,:)
希望这会有所帮助的