日期:2014-05-18  浏览次数:21243 次

C#实现TCP/IP连接方式,向指定机器指定端口发送/接收程序(附实现代码)
连线成功(代码如下):
try  
{  
    TcpClient   tcpClient   =   new   TcpClient(sHostName,nPortNo
    nsStream   =   tcpClient.GetStream();//通过申请,并获取传送数据的网络基础数据流    
    swWriter   =   new   StreamWriter(nsStream);//使用获取的网络基础数据流来初始化StreamWriter实例  
    srRead   =   new   StreamReader(nsStream);//以得到的网络基础数据流来初始化StreamReader实例  
    btnConnect.Enabled   =   false   ;  
    btnSend.Enabled   =   true   ;  
    tcpConnect   =   true   ;  
    sbStatus.Text   =   "已经连接! "   ;  
    iSeqNo   =   1;
  }  
  catch  
  {  
    MessageBox.Show   (   "无法和远程主机端口建立连接! "   ,   "错误提示! "   )   ;  
    return   ;  
  }

发送接收代码(发送成功,接收不了)
swWriter.WriteLine(edtInfo.Text);//刷新当前数据流中的数据  
swWriter.Flush();  
sbStatus.Text   =   "发送成功,已经连接! ";
Thread.Sleep(300);

string   sMessage   =   srRead.ReadLine();//从网络基础数据流中读取一行数据  
string   sTime   =   DateTime.Now.ToShortTimeString   (   )   ;   //获取接收数据时的时间  
lbReceive.Items.Add   (   sTime   +   "   "   +   sMessage   )   ;
sbStatus.Text   =   "接收成功,已经连接! ";  

发送成功,接收不了!
请高手给与指教!

------解决方案--------------------
是否为对方发送的数据中没有换行符?用srRead.Read();替换srRead.ReadLine();试试!