如何在同一台电脑上调试TCP连接?

我写了一个服务器端程序A.exe,用一个TCPListener监听了本机的2185端口。具体的语句是:TcpListenerlistener=newTcpListener... 我写了一个服务器端程序A.exe,用一个TCPListener监听了本机的2185端口。
具体的语句是: TcpListener listener = new TcpListener(IPAddress.Any,2185);
我在另一个客户端程序B.exe中,用TcpClient尝试连接服务器。
具体的语句是:TcpClient.Connect(IPAddress.Parse(服务器IP), 2185);
如果在两台不同的电脑上可以连接,但如果在同一台电脑上,将服务器IP改为127.0.0.1就出错了。
错误信息是“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”。
我猜测应该是2185端口被占用引起的冲突错误,但应该怎么解决呢?
因为客户端程序也需要在服务器上正常运行的啊……
求前辈们指点!谢谢。
展开
 我来答
枫若神明
推荐于2017-12-16 · TA获得超过920个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:240万
展开全部
在服务端设置端口复用的选项,如:
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)val,sizeof(val);

有问题请继续追问。
追问
你好,我按照自己的理解改为这样,仍然会出同样的错误信息:
TC = new TcpClient();
TC.Client.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.ReuseAddress, true);
然后 TC.Client.Connect 地址。
VS2005环境。字数受限,贴不全了。
追答
后续如果有编程上的问题,可以直接点击我的名字进入我的主页,选择向我提问。
有问必答,谢谢!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
久续B
2013-09-24
知道答主
回答量:5
采纳率:0%
帮助的人:7348
展开全部
不可以同时两个程序监听,你的B程序有错误,只是简单的修改了A程序的内容就拿来监听,其实还是A程序在监听,你要改A程序的监听目标,不能都是2185端口。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿扬电声
2013-09-25 · TA获得超过1224个赞
知道小有建树答主
回答量:634
采纳率:0%
帮助的人:105万
展开全部
你说“将服务器IP改为127.0.0.1就出错了”。你试试把127.0.0.1改为电脑实际设置的IP试试。如192.168.1.20这样的,当然你事先要设置好本机IP
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mlz13
2013-09-25
知道答主
回答量:50
采纳率:0%
帮助的人:16.8万
展开全部
服务器端用127.0.0.1 客户端用你的ip地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友92df6a7
2015-08-26 · 超过29用户采纳过TA的回答
知道答主
回答量:200
采纳率:0%
帮助的人:75.4万
展开全部
安装虚拟机
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式