社区
C#
帖子详情
C# 本机与本机连接,报错:通常每个套接字地址(协议/网络地址/端口)只允许使用一次) !!
hanhanmj
2009-09-10 01:47:50
如题, 我在本机测试一个 发送接收数据的程序,现在我把端口都设置为80,但程序一启动就会报错: (通常每个套接字地址(协议/网络地址/端口)只允许使用一次)
请问,客户端与服务端 端口该怎么设置?
谢谢!!!!!!!!!1
...全文
1134
10
打赏
收藏
C# 本机与本机连接,报错:通常每个套接字地址(协议/网络地址/端口)只允许使用一次) !!
如题, 我在本机测试一个 发送接收数据的程序,现在我把端口都设置为80,但程序一启动就会报错: (通常每个套接字地址(协议/网络地址/端口)只允许使用一次) 请问,客户端与服务端 端口该怎么设置? 谢谢!!!!!!!!!1
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
鸭梨山大帝
2009-09-11
打赏
举报
回复
正解,80端口被占用.
启用其他的端口即可
bigdogsss
2009-09-11
打赏
举报
回复
en
cnzdgs
2009-09-11
打赏
举报
回复
设置断点调试看代码是不是被重复执行了,另外再多换几个端口试试,例如8001、8002等。
足球中国
2009-09-10
打赏
举报
回复
楼上的正解
dancingbit
2009-09-10
打赏
举报
回复
启动监听的代码被重复执行了,或者端口被其他程序占用了。
simenpeng
2009-09-10
打赏
举报
回复
服务器端 开启一个不常用的端口如6***
然后客户端也设置成6***
*是数字~!···
wb1125
2009-09-10
打赏
举报
回复
服务端: static void Main(string[] args)
{
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
EndPoint ep = new IPEndPoint(IPAddress.Any, 8000);
server.Bind(ep);
server.Listen(10);
while (true)
{
Socket acceptSocket = server.Accept();
Thread thread = new Thread(new ParameterizedThreadStart(SendMessage));
thread.Start(acceptSocket);
}
}
private static void SendMessage(object acceptSocket)
{
Socket accept = (Socket)acceptSocket;
string stringToSend = "This is a message";
byte[] buffer = Encoding.Default.GetBytes(stringToSend);
accept.Send(buffer);
}
客户端:
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
EndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8000);
client.Connect(ep);
byte[] buf = new byte[1024];
client.Receive(buf);
Console.WriteLine(Encoding.Default.GetString(buf));
Console.Read();
wb1125
2009-09-10
打赏
举报
回复
IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8000);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(endpoint);
server.Listen(10);
server.BeginAccept(new AsyncCallback(AccepteCallBack), server);
EventDone.WaitOne();
Console.Read();
这是一个一部的例子
hanhanmj
2009-09-10
打赏
举报
回复
以下部分代码:
Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Socket socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
public delegate void AddListItemHandler(string text);
string recString1;
public string Ip;
public FrmReceive()
{
InitializeComponent();
//KillProcess();
IPEndPoint locEP = new IPEndPoint(IPAddress.Any, 8000);
listener.Bind(locEP);
listener.Listen(100);
Thread acceptThread = new Thread(new ThreadStart(AcceptWorkThread));
acceptThread.Start();
}
现在仍然是一样的问题,换了端口也不好使!
wb1125
2009-09-10
打赏
举报
回复
不要80端口。用一个打的端口如8000.
本机
调试udp提示System.Net.Sockets.SocketException:“通常
每个
套接字
地址
(
协议
/
网络
地址
/
端口
)只
允许
使用
一次
。”
在
使用
TCP助手进行本地程序调试时,遇到“通常
每个
套接字
地址
(
协议
/
网络
地址
/
端口
)只
允许
使用
一次
”的错误。通过调整调试助手和程序中UdpClient的
端口
号,成功解决了
端口
冲突问题。
报错
内容--“通常
每个
套接字
地址
(
协议
/
网络
地址
/
端口
)只
允许
使用
一次
”
本文介绍在
使用
C#
进行TCP编程时遇到的
端口
冲突问题及其解决方案。当程序首次运行并占用某个
端口
后,若不正确关闭,再次运行同一程序时将导致
端口
被占用的错误。文章提供了简单的解决办法,即确保前一个实例完全关闭后再重新运行。
socket:通常
每个
套接字
地址
(
协议
/
网络
地址
/
端口
)只
允许
使用
一次
本文探讨了C/S架构下Server端重启监听时遇到的问题及解决方案,包括通过关闭
端口
或
端口
复用来解决Accept状态下的listenSocket未能关闭导致的异常。
UDP编程
报错
“通常
每个
套接字
地址
(
协议
/
网络
地址
/
端口
)只
允许
使用
一次
”
本文详细解析了本地客户端绑定IP和
端口
后未释放
套接字
实例导致的
端口
占用问题。阐述了问题产生的根本原因,并提供了解决方案:在finally块中调用Close()方法来关闭
套接字
对象,从而避免
端口
被持续占用。
关于"通常
每个
套接字
地址
(
协议
/
网络
地址
/
端口
)只
允许
使用
一次
"
本文记录了作者开发局域网内UDP通讯工具的过程,解决了在修改
端口
时出现的通常
每个
套接字
地址
只
允许
使用
一次
的问题,并讨论了非托管资源释放的相关问题。
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章