IPAddress ipAddrClient=IPAddress.Pars("127.0.0.1");
IPEndPoint endPointClient=new IPEndPoint(ipAddrClient,5001);
IPAddress ipAddrServer=IPAddress.Parse("127.0.0.1");
IPEndPoint endPointServer=new IPEndPoint(ipAddrServer,5000);
TcpClient newClient=new TcpClient(endPointClient);
newClient.Connect(endPointServer);
我都已经把这些都放到2个函数中,让他们变成局部变量了
但还是会报错说,一个套接字只允许用一次最见鬼的是a函数执行多少次,都没问题,a执行完b也能正常执行
但b一执行后,谁也不能再连上那个套接字了
说一个套接字只允许用一次2个函数连接的部分都完全一样啊,最后也都有close 啊啊啊啊为什么???
路过帮我也顶一下
谢谢

解决方案 »

  1.   

    我试了,2个函数如果都是简单的发一个byte[]到套接字后,就谁都不能在用那个套接字了,2个函数的区别就在于一个接受过文件,另一个只发送过byte[],接受过文件的执行后其他函数还能用这个套接字
    很奇怪啊
    接受文件也只是接收了写byte[]啊
    难道和没有接受过东西有关???
    路过的谢谢顶一下
    这是我最后一下了
      

  2.   

    会不会是套接字使用的NetworkStream里有一个类似缓冲区的作用~ 接受过文件就相当于把缓冲区里的数据度出来了~ 所以这个套接字就还能被其他函数使用 只是发送过byte[]的相当于把数据写入到相应的NetworkStream中  由于写入到缓冲区中的数据还还未被读走~ 所以其他函数暂时不能使用这个套接字~