请教关于Socket连接问题 一个在本地侦听。一个去连接对方。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 两方面必须协同操作,一台打开端口开始侦听,最好是单独开一个线程,另一台过来请求 你们所说是不是这样private void Listen(){ try { tcpl = new TcpListener(5656); tcpl.Start(); statusBar1.Text = "正在监听..."; while(listenerRun) { Socket s = tcpl.AcceptSocket(); Byte[] stream = new Byte[80]; int i=s.Receive(stream) ; string message = System.Text.Encoding.UTF8.GetString(stream); richTextBox1.AppendText(message); } } catch(System.Security.SecurityException) { MessageBox.Show("防火墙安全错误!","错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch(Exception) { statusBar1.Text = "已停止监听!"; }}private void Send(){ try { string msg = "<"+textBox3.Text+">"+textBox2.Text; TcpClient tcpc = new TcpClient(textBox1.Text, 5656); NetworkStream tcpStream = tcpc.GetStream(); StreamWriter reqStreamW = new StreamWriter(tcpStream); reqStreamW.Write(msg); reqStreamW.Flush(); tcpStream.Close(); tcpc.Close(); richTextBox1.AppendText(msg); textBox2.Clear(); } catch(Exception) { statusBar1.Text = "目标计算机拒绝连接请求!"; }}但是如果中间有NAT转换(在网上看到的 http://www.ppcn.net/show.aspx?id=1306&cid=2 )比如A使用端口[P1]连接B端口[P2]然后B又连接A端口[P1]这时A怎么知道要侦听那个端口侦听 求DataGridView排序代码。 求行列转换的sql语句 像在画图板里实现鼠标按下选择起点,鼠标移到哪,图形画到哪 axMediaPlayer控件的使用 作版权保护申请,源代码怎么给 OnResize 重载问题请教? 一个店面经营流水帐管理系统(C#源码提供) 有没有通过代码动态控制DataGrid的格式? 很急的问题!!关于数据库备份的问题!!! 如何用C#设计类似有道词典那样的迷你窗口 如何判断文本框输入了小数点(.)????? 请教:如何使用MDI窗体做一个多窗口浏览器???
private void Listen()
{
try
{
tcpl = new TcpListener(5656);
tcpl.Start();
statusBar1.Text = "正在监听..."; while(listenerRun)
{
Socket s = tcpl.AcceptSocket();
Byte[] stream = new Byte[80];
int i=s.Receive(stream) ;
string message = System.Text.Encoding.UTF8.GetString(stream);
richTextBox1.AppendText(message);
}
}
catch(System.Security.SecurityException)
{
MessageBox.Show("防火墙安全错误!","错误",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
catch(Exception)
{
statusBar1.Text = "已停止监听!";
}
}private void Send()
{
try
{
string msg = "<"+textBox3.Text+">"+textBox2.Text;
TcpClient tcpc = new TcpClient(textBox1.Text, 5656);
NetworkStream tcpStream = tcpc.GetStream(); StreamWriter reqStreamW = new StreamWriter(tcpStream);
reqStreamW.Write(msg);
reqStreamW.Flush();
tcpStream.Close();
tcpc.Close();
richTextBox1.AppendText(msg);
textBox2.Clear();
}
catch(Exception)
{
statusBar1.Text = "目标计算机拒绝连接请求!";
}
}
但是如果中间有NAT转换(在网上看到的 http://www.ppcn.net/show.aspx?id=1306&cid=2 )
比如A使用端口[P1]连接B端口[P2]然后B又连接A端口[P1]这时A怎么知道要侦听那个端口侦听