当前位置: 代码迷 >> Web Service >> webservice上头的socket通信
  详细解决方案

webservice上头的socket通信

热度:172   发布时间:2016-05-02 02:24:49.0
webservice上面的socket通信
 TcpListener listener = new TcpListener(9000);
        TcpClient tcpclient = new TcpClient();
        [WebMethod(Description = "启动监听线程")]
        public void listen()
        {
            Thread listen = new Thread(new ThreadStart(listenebegin));
            listen.Start();
        }
 [WebMethod(Description = "开启监听")]
public void listenebegin()
        {
            listener.Start();//开始监听 
            while (true)
            {
                tcpclient = listener.AcceptTcpClient();//通过连接请求
                //skt = listener.AcceptSocket();//通过连接请求
            }
}
public void siglelightdatasend(byte []data)
        {
            int i = skt.Send(data);
            //NetworkStream stream = tcpclient.GetStream();
            //stream.Write(data, 0, data.Length);//发送数据
        }
上面代码写在webservice上,放在服务器上面的,现在我启动客户端首先调用listen()这个方法,里面会新建一个线程,然后线程执行listenbegin()这个方法监听连接。最后在客户端调用siglelightdatasend(byte[] data)这个方法发送数据,但是每次都报错

不会解决,刚接触socket编程,哪位大侠帮帮忙
------解决方案--------------------
tcpclient = listener.AcceptTcpClient();//通过连接请求
有收到请求?skt从哪儿来?

你的webservice本来就是被动响应的(除非是推送式的)
在里面再去启动监听能接收到请求?你还是用其他持久运行的程序作socket的宿主吧
  相关解决方案