有没有办法让web页面通过socket连接(远程客户端) 访问服务器中的winform(服务器端)
如题
或者可否谈谈关于 网页发送 短信的实现方式
我们在移动公司的网站上,通过手机登陆进去后,只要输入短信息内容和接收号码,发送后对方就接收到短信.而我们的手机就扣费0.1元
大概的实现方式?
------解决方案--------------------//远程主机
string hostName= "192.168.1.160 ";
//端口
int port= 9999;
//得到主机信息
IPHostEntry ipInfo=Dns.GetHostByName(hostName);
//取得IPAddress[]
IPAddress[] ipAddr=ipInfo.AddressList;
//得到ip
IPAddress ip=ipAddr[0];
//组合出远程终结点
IPEndPoint hostEP=new IPEndPoint(ip,port);
//创建Socket 实例
Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
//尝试连接
socket.Connect(hostEP);
}
catch(Exception se)
{
Response.Write( " "+se+ " ");
Response.End();
}
//发送给远程主机的请求内容串
string sendStr= "CONN┆ "+System.Guid.NewGuid().ToString();
//创建bytes字节数组以转换发送串
byte[] bytesSendStr=new byte[1024];
//将发送内容字符串转换成字节byte数组
bytesSendStr=Encoding.UTF8.GetBytes(sendStr);
try
{
//向主机发送请求
socket.Send(bytesSendStr,bytesSendStr.Length,0);
}
catch(Exception ce)
{
Response.Write( " "+ce+ " ");
Response.End();
}
//声明接收返回内容的字符串
string recvStr= " ";
//声明字节数组,一次接收数据的长度为1024字节
byte[] recvBytes=new byte[1024];
//返回实际接收内容的字节数
int bytes=0;
//循环读取,直到接收完所有数据
bytes=socket.Receive(recvBytes,recvBytes.Length,0);
recvStr = Encoding.UTF8.GetString(recvBytes,0,bytes).Replace( "\0 ", " <br> ").Replace( "LIST┆ ", " ");
Response.Write( " "+recvStr+ " ");
Response.End();
//禁用Socket
socket.Shutdown(SocketShutdown.Both);
//关闭Socket
socket.Close();
------解决方案--------------------分两步
1 买个网关程序
2 给移动老总送辆车
如果2能够做的牛 1 就省了
------解决方案--------------------可以发送也可以接收,但是有一个问题,就是接收服务器返回的数据时,数据在后台监听到,但不能处理,有点像winform里的线程控制一样,一个线程没有权限控制页面的内容
------解决方案--------------------你说的这个问题不就是一个简单的WEB程序吗?在网页上输入信息,然后提交到后台,至于后台怎么处理不都可以吗,你想连接谁,想发什么短信,你就随便做啊,谁管你啊?这有什么难的?
不过你别告诉我你要控制移动的后台,办你自己的事。