怎样用C#连续发送一些数据,而且是异步的 10

假如我的端口为8080,IP为192.168.1.1,现在一个程序一直等待我发数据,我该怎么做呢?我利用Socket函数弄了N天了还是搞不定啊不能连续的发啊求大神给我指导... 假如我的端口为8080,IP为192.168.1.1,现在一个程序一直等待我发数据,我该怎么做呢?我利用Socket函数 弄了N天了 还是搞不定啊 不能连续的发啊 求大神给我指导指导 最好给出关键代码?谢谢了。、、、神人们
int port = 8080;
string host = "192.168.1.123";
   IPAddress ip = IPAddress.Parse(host);
    IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例
     Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket
    Console.WriteLine("Conneting...");
     c.Connect(ipe);//连接到服务器

//采用异步方式发送 并且UDP貌似不行 丢失太多、、
byte[] bs = Encoding.ASCII.GetBytes(TextEncoder.ByteArrayToHexString(bTmp));
Console.WriteLine("Send Message: {0}", TextEncoder.ByteArrayToHexString(bTmp));
c.Send(bs, bs.Length, 0);//发送测试信息

怎么连续发呢、、
而且现在是一次不能全部发完信息,信息需要一次次的从读卡器上读。。读卡器这个不用考虑了
展开
 我来答
暗夜使者之刺客
2012-03-31
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
Socket serversocket;
Thread thd;
Thread thd2;
public void thdr()
{
thd.Start();
}
public void str()
{
string sss = null;
sss = textBox1.Text;
Control.CheckForIllegalCrossThreadCalls = false;
serversocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress remoteip = null;
remoteip = IPAddress.Parse(sss);
IPEndPoint ipe = new IPEndPoint(remoteip, 888);
serversocket.Bind(ipe);
serversocket.Listen(0);
thd = new Thread(thdr);
thd.IsBackground = true;
while (true)
{
Socket clientsocket;
clientsocket = serversocket.Accept();
byte[] bytereceive = new byte[serversocket.ReceiveBufferSize];
int yy = clientsocket.Receive(bytereceive);
richTextBox1.Text = richTextBox1.Text + "\r\n" + Encoding.UTF8.GetString(bytereceive);
}
}
private void button1_Click(object sender, EventArgs e)
{

thd2 = new Thread(str);
thd2.IsBackground = true;
thd2.Start();

}
追问
谢谢了  能帮我解释一下嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c512873d
2012-04-05
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
科学的用法是,分两次发送。发送数据时先发送数据的大小,再发送数据,接收数据时根据接收的数据大小设定循环接收。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友217a1b5
2012-04-03
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你写的没什么问题啊,顶多是少了个关闭socket。只要在每次从读卡器上读到数据后调用这个方法就可以了。你现在有问题是有什么问题呢?报异常,没接到数据还是什么?你没说清楚啊!
追问
现在的问题是:一旦再次调用这个方法,刚才建立的链接就没了,需要重新建立链接,而客户端是一旦链接断了,就会跳异常,所以现在要实现的是 链接一直在,连续的传数据~~~大概说清楚了吧。。。。
追答
那你就把那个socket作为全局对象啊我晕,不要关闭了不就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式