关于Socket和127.0.0.1的一个简单问题?

lz_0618 2008-11-21 03:01:35
我的Socket服务端在"127.0.0.1"地址上监听,假设我的机器的地址是"192.168.1.200"

按以前的经验,客户端用"127.0.0.1"和“192.168.1.200"这两个地址中的任何一个地址去连服务端应该都可以的,但在C#中难道不行吗???(只能用"127.0.0.1"地址去连)

服务端:
System.Net.Sockets.Socket TcpServerSocket;

IPAddress TcpServerIPAddress;
TcpServerIPAddress = IPAddress.Parse("127.0.0.1");
IPEndPoint iep = new IPEndPoint(TcpServerIPAddress, int.Parse("6000"));
TcpServerSocket = new System.Net.Sockets.Socket(/*iep.AddressFamily*/ System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
TcpServerSocket.Bind(iep);
TcpServerSocket.Listen(200);
System.Net.Sockets.Socket tempSocket = TcpServerSocket.Accept();


客户端:

Int32 port = 6000;
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient("192.168.1.200", port);

// Translate the passed message into ASCII and store it as a Byte array.
Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);

// Get a client stream for reading and writing.
// Stream stream = client.GetStream();

System.Net.Sockets.NetworkStream stream = client.GetStream();

// Send the message to the connected TcpServer.
stream.Write(data, 0, data.Length);

错误信息:由于目标机器积极拒绝,无法连接192.168.1.200:600

当IP地址改成“127.0.0.1”时,无此错误
...全文
1716 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huting0211 2010-09-16
  • 打赏
  • 举报
回复
开窍了。 谢谢
yilanwuyu123 2008-11-21
  • 打赏
  • 举报
回复
127.0.0.1 是可以用的
acqy 2008-11-21
  • 打赏
  • 举报
回复
你用127,那么服务器就只接受来自127的请求,也就是你客户端必须跟服务器都在本机。这个做做测试还好,要是真的用于实际,恐怕实用性不强,又何必呢?
lz_0618 2008-11-21
  • 打赏
  • 举报
回复
我知道IPAddress.Any,但真的不能用"127.0.0.1"吗?
human_2 2008-11-21
  • 打赏
  • 举报
回复
放火墙
acqy 2008-11-21
  • 打赏
  • 举报
回复
IPAddress TcpServerIpAddress = IPAddress.Any;
acqy 2008-11-21
  • 打赏
  • 举报
回复
TcpServerIPAddress = IPAddress.Parse("127.0.0.1");
不要用127.0.0.1,用IPAddress.Any

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧