Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Net;
- using System.Net.Sockets;
- using Hotco.Interfaces;
- using OpenNETCF.Net.NetworkInformation;
- namespace HoTouch.Winforms.Services
- {
- /// <summary>
- /// Description of WifiHelper.
- /// </summary>
- public class WifiHelper
- {
- static IPAddress ipa;
- static IPEndPoint ipep;
- static string oldaddress = null;
- public WifiHelper()
- {
- }
- public static NetworkStatus Diagnose(string address)
- {
- var q = address.Split(':');
- try {
- oldaddress = address;
- var ip = q[0];
- var port = q.Length==2?int.Parse(q[1]):5500;
- ipa = new IPAddress(ip.Split('.').Select(n=>byte.Parse(n)).ToArray());
- ipep = new IPEndPoint(ipa,port);
- if (HoTouch.Core.Services.Impl.TimeOutSocket.Connect(ipep,5000))
- return NetworkStatus.Ok;
- else
- return NetworkStatus.ServerNotAvailable;
- }
- catch(Exception)
- {
- if (false && System.Environment.OSVersion.Platform == PlatformID.WinCE)
- {
- var p = new Ping();
- var ni=WirelessZeroConfigNetworkInterface.GetAllNetworkInterfaces().Where(x => x is IWirelessNetworkInterface)
- .Cast<IWirelessNetworkInterface>()
- .FirstOrDefault(x=>x.OperationalStatus!= OperationalStatus.Down);
- if (ni == null || ni.SignalStrength.Strength== StrengthType.NoSignal)
- return NetworkStatus.WifiNotAvailable;
- try
- {
- if (p.Send(q[0],3).Status != IPStatus.Success)
- return NetworkStatus.ServerNotAvailable;
- }
- catch(Exception)
- {
- return NetworkStatus.ServerNotAvailable;
- }
- }
- }
- return NetworkStatus.MobileServerNotAvailable;
- }
- }
- }
Add Comment
Please, Sign In to add comment