socket 通信例子public void send() { while (true) { string sql="select top 100 * from send"; SqlDataReader datareader =sqlserver.ExecuteSqlDataReader(sql); if (datareader.HasRows) //有记录才进行网关联接 { string show; string host; //int port =Convert.ToInt16("8801"); //host = Dns.GetHostName(); //host = "192.168.123.110"; socket temp=new socket(); Socket send=temp.connectSocket(this.remote_ip,this.remote_port); if (send == null) { this.send_listbox("打开远程 SMG 失败"); } else { this.send_listbox("打开远程 SMG 成功"); byte[] bind_content=sgip_test.bind(count); count_step(); byte[] receive=new byte[256]; byte flag; send.Send(bind_content,bind_content.Length,0); //bind send.Receive(receive,29,0); //bind_resp 读取 29 位 flag=sgip_test.bind_resp_result(receive); if (flag==0) this.send_listbox("成功联接到网关"); else this.send_listbox("联接网关失败"); while (datareader.Read()) { string spnumber=datareader["spnumber"].ToString().Trim(); string chargenumber=datareader["chargenumber"].ToString().Trim(); string usernumber=datareader["usernumber"].ToString().Trim(); string servicetype=datareader["servicetype"].ToString().Trim(); byte feetype=Byte.Parse(datareader["feetype"].ToString().Trim()); string feevalue="/datareader["feevalue"].ToString().Trim(); string" content=datareader["content"].ToString().Trim(); byte[] submit=sgip_test.submit(spnumber,chargenumber,usernumber,servicetype,feetype,feevalue,content,CorpId,count); send.Send(submit,submit.Length,0);//sumbmit count_step(); send.Receive(receive,29,0); //submit_resp flag=sgip_test.submit_resp_result(receive); if (flag==0) { this.send_listbox("手机号:"+usernumber+" 业务代码:"+servicetype+" SP 下行号码:"+spnumber); this.send_listbox("消息内容:"+content); this.send_listbox("消息发送成功"); string del_sql="delete from send where id="+datareader["id"].ToString().Trim(); sqlserver.ExecuteSqlComand(del_sql); } el...