c# socket 求助 “通常每个套接字地址(协议/网络地址/端口)只允许使用一次。”

privatevoidForm1_Load(objectsender,EventArgse){MessageBox.Show("一打开就开始执行吗?");IPEndPoi... private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("一打开就开始执行吗?");
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 8888);
Socket listener = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
listener.Bind(ipep);
listener.Listen(10);
byte[] b = new byte[4096];
Socket hostSocket = listener.Accept();
MemoryStream fs = new MemoryStream();
int length = 0;
while ((length = hostSocket.Receive(b)) > 0)
{
fs.Write(b, 0, length);
}
fs.Flush();
Bitmap Img = new Bitmap(fs);
Img.Save(@"d:\11111111.jpg", ImageFormat.Png);
fs.Close();
listener.Close();
pictureBox1.Image = Image.FromStream(fs);
}

我刚学c# 建立了一个窗体项目,想做一个socket图片传递的程序,
但是listener.Bind(ipep);这一句代码是黄色的---> “通常每个套接字地址(协议/网络地址/端口)只允许使用一次。”
求助前辈,怎么解决?关键是怎么解决啊啊啊啊,愁死我了,不知道怎么改。。。
这段代码是服务端的,客户端发送图片,服务端接收并在pictureBox上展示
展开
 我来答
syht2000
高粉答主

2013-05-15 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
8888不要用,换个别的,这个端口会被其它的程序用到,比如换成50000
追问
我现在换哪个端口都会报这个错,我怀疑代码有毛病
追答
记不清了,如果你开有防火墙或者杀毒软件先关掉,如果还是不行试试这段
Socket receiveSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ipEndPoint endpoint = new IPEndPoint(0, 8000);
receiveSocket.Bind(endpoint);
receiveSocket.Listen(10);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式