webservice通信以及webservice调用CS系统中的其他方法

时间:2013-8-28    作者:悬浮的青春    分类: .net相关


一般webservice通信都是web与web之间的。和cs直接用webservice通信的比较少。cs通信就用socket了。

但是有这样的需求就得用


 cs调用webservice很容易。实例化。然后调用实例化后的东西里面的方法就行了。


但是反过来呢。

通过webservice调用cs中的方法和实体呢。


这个就有点那个了。


一般都是反过来的。这下却是反其道而行之的。


于是有了下面不成熟的想法


做个webservice调用socket。socket来触发cs中的方法。。。虽然有点无耻。但是实现了。。哈哈



下面就直接贴代码吧。。不多说了。。会的都知道很简单的。。


webservice部分的代码


 public Socket newclient;
        [WebMethod]
        public string ceshi(string ip, string Port, string Content)
        {
            byte[] data = new byte[102400];
            newclient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            string ipadd = ip;
          
            int port = Convert.ToInt32(Port);
            IPEndPoint ie = new IPEndPoint(IPAddress.Parse(ipadd), port);
            newclient.Connect(ie);
            data = Encoding.UTF8.GetBytes(Content);
            int i = newclient.Send(data);
            return "success";
        }

cs部分接收信息的代码


其实就是一个socket服务端的代码。。。

只写点关键的吧


 Socket myClientSocket = (Socket)clientSocket;

  int receiveNumber = myClientSocket.Receive(result);
                        Console.WriteLine("接收客户端{0}消息{1}", myClientSocket.RemoteEndPoint.ToString(), Encoding.UTF8.GetString(result, 0, receiveNumber));
somethings()//自己的方法,里面可以加你要的传来的参数啥的。判断执行。

标签: net winform

WRITTEN BY

avatar