C#socket receive()当接收不到数据怎么停止
同步客户端publicstaticboolstartclient(){byte[]bytes=newbyte[1024];try{IPHostEntryiphostinf...
同步客户端
public static bool startclient()
{
byte[] bytes=new byte [1024];
try
{
IPHostEntry iphostinfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipa = iphostinfo.AddressList[0];
IPEndPoint remote = new IPEndPoint(ipa, 11000);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
sender.Connect(remote);
// MessageBox.Show("connection:"+sender.RemoteEndPoint.ToString()+"");
byte[] msg = Encoding.ASCII.GetBytes("" + number + "." + password + "." + pay + "<EOF>");
int bytessent = sender.Send(msg);
前面后面部分函数代码略 当关闭异步客户端发送信息时候 这里的send接收不到数据会一直等下去 求高手给个可行方案 别跟我说TIME控件之类异想天开 要可行方案 展开
public static bool startclient()
{
byte[] bytes=new byte [1024];
try
{
IPHostEntry iphostinfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipa = iphostinfo.AddressList[0];
IPEndPoint remote = new IPEndPoint(ipa, 11000);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
sender.Connect(remote);
// MessageBox.Show("connection:"+sender.RemoteEndPoint.ToString()+"");
byte[] msg = Encoding.ASCII.GetBytes("" + number + "." + password + "." + pay + "<EOF>");
int bytessent = sender.Send(msg);
前面后面部分函数代码略 当关闭异步客户端发送信息时候 这里的send接收不到数据会一直等下去 求高手给个可行方案 别跟我说TIME控件之类异想天开 要可行方案 展开
3个回答
展开全部
while(true)
{
sender.Connect(remote);
// MessageBox.Show("connection:"+sender.RemoteEndPoint.ToString()+"");
byte[] msg = Encoding.ASCII.GetBytes("" + number + "." + password + "." + pay + "<EOF>");
int bytessent = sender.Send(msg);
}
{
sender.Connect(remote);
// MessageBox.Show("connection:"+sender.RemoteEndPoint.ToString()+"");
byte[] msg = Encoding.ASCII.GetBytes("" + number + "." + password + "." + pay + "<EOF>");
int bytessent = sender.Send(msg);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用异步方式 试试看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看不太懂你的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询