首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

webservice上边的socket通信

2013-11-21 
webservice上面的socket通信 TcpListener listener new TcpListener(9000)TcpClient tcpclient new T

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)这个方法发送数据,但是每次都报错webservice上边的socket通信

不会解决,刚接触socket编程,哪位大侠帮帮忙 webservice socket 线程 thread 通信
[解决办法]
tcpclient = listener.AcceptTcpClient();//通过连接请求
有收到请求?skt从哪儿来?

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

热点排行