繁体   English   中英

在端口服务器端运行网络应用程序给我错误,我该如何解决?

Running Network Application on port Server side give me error how can i solve it?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

如果我运行服务器应用程序。 发生异常:在Dinle.Start()上

System.Net.SocketException-每个套接字地址(协议/网络地址/端口)仅允许使用一种

我该如何解决这个错误?

替代文字 Server.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace Server
{
    public partial class Server : Form
    {
        Thread kanal;
        public Server()
        {
            InitializeComponent();

            try
            {
                kanal = new Thread(new ThreadStart(Dinle));
                kanal.Start();
                kanal.Priority = ThreadPriority.Normal;
                this.Text = "Kanla Çalıştı";
            }
            catch (Exception ex)
            {
                this.Text = "kanal çalışmadı";
                MessageBox.Show("hata:" + ex.ToString());
                kanal.Abort();
                throw;
            }
        }

        private void Server_Load(object sender, EventArgs e)
        {
            Dinle();
        }
        private void btn_Listen_Click(object sender, EventArgs e)
        {

            Dinle();
        }

        void Dinle()
        {
          //  IPAddress localAddr = IPAddress.Parse("localhost");
            // TcpListener server = new TcpListener(port);
           // server = new TcpListener(localAddr, port);
            //TcpListener Dinle = new TcpListener(localAddr,51124);
            TcpListener Dinle = new TcpListener(51124);
            try
            {

                while (true)
                {
                   

Dinle.Start();

Exception is occured. Socket Baglanti = Dinle.AcceptSocket(); if (!Baglanti.Connected) { MessageBox.Show("Baglanti Yok"); } else { TcpClient tcpClient = Dinle.AcceptTcpClient(); if (tcpClient.ReceiveBufferSize > 0) { byte[] Dizi = new byte[250000]; Baglanti.Receive(Dizi, Dizi.Length, 0); string Yol; saveFileDialog1.Title = "Dosyayi kaydet"; saveFileDialog1.ShowDialog(); Yol = saveFileDialog1.FileName; FileStream Dosya = new FileStream(Yol, FileMode.Create); Dosya.Write(Dizi, 0, Dizi.Length - 20); Dosya.Close(); listBox1.Items.Add("dosya indirildi"); listBox1.Items.Add("Dosya Boyutu=" + Dizi.Length.ToString()); listBox1.Items.Add("İndirilme Tarihi=" + DateTime.Now); listBox1.Items.Add("--------------------------------"); } } } } catch (Exception ex) { MessageBox.Show("hata:" + ex.ToString()); } } } }
1 个回复

TcpListener.Start被多次调用。

1-在服务器构造函数中启动线程时调用
2-通过调用Server_Load事件处理程序中的Dinle
3-再一次,如果您单击btn_Listen_Click事件处理程序中的按钮

我并不声称完全了解您要做什么,但是我认为这可以简化。

首先,您应该创建并启动一次侦听器,让我们说一下代码何时开始运行。 之后,您可以进入一个循环,该循环调用AcceptTcpClient接受连接并处理通信。

您似乎还混用了不需要的Socket和TcpClient。 看一下以下内容,作为使用TcpListener和TcpClient的基本示例。

http://msdn.microsoft.com/zh-cn/library/system.net.sockets.tcplistener.aspx

2 HTML5网络应用程序 - 选择服务器端技术

现在,我正在为简单的跨平台移动应用程序选择技术。 目标系统基本上是iOS,Windows Phone 7.5和Windows 8.第一步,它将成为本地无线局域网应用程序。 现有服务器(使用.net / WCF)具有我想要显示的所有数据。 该应用程序将每隔几秒进行一次轮询,并对数据进行实 ...

5 动态创建的下载内容,无需在 Vaadin Flow 网络应用程序的服务器端写入文件

在我的Vaadin Flow网络应用程序(版本 14 或更高版本)中,我想向我的用户提供一个下载数据文件的链接。 此下载的内容可能相当大。 所以我不想一下子把内存中的全部内容都具体化。 我想连续生成内容块,一次一个块地下载,以尽量减少我对内存的使用。 例如,想象一下来自数据库的大量行,我们一次向下 ...

6 在服务器端运行 Angular 应用程序

我有一个生成 PDF 的 Angular 8 应用程序。 现在,我需要在无头浏览器中运行它以在服务器端生成 PDF。 所以我正在考虑使用 Protractor 和 Node.js,但我找到的所有示例都是使用 Protractor/Selenium 运行的测试用例,我不需要运行测试。 Protr ...

7 部署服务器和网络应用程序的方式

我是一名移动开发人员,但我对后端和服务器感兴趣。 我开始学习它,但我有几个问题。 我不确定我是否正确理解了所有过程。 我坚持部署的问题。 例如,如果我想部署一个网络应用程序或游戏服务器。 据我了解,最好的方法是使用 VPS。 我将控制虚拟服务器,我将能够安装我想要的软件等等。 它比经典主机更 ...

9 Google Apps脚本网络应用-跨服务器端调用(?)

我有一个正在编写的Web应用程序,想要更新以实时写回服务器。 在客户端,我运行此功能并捕获每个输入。 输入当前为所有复选框。 问题在于,我可以比对脚本进行检查的速度更快地检查复选框,因此最终结果出乎意料。 因此,我需要在选择之间放慢用户的速度,或者确保每个服务器调用在下一个开始之前完成。 ...

10 适用于移动网络应用的最佳服务器端技术

我即将为移动设备开发一个Web应用程序,我想知道选择哪种服务器端技术。 我对PHP(MySQL和其他)的后端和前端使用有很强的经验,但我做了一个有根据的猜测,选择这个组合不是可扩展性的最佳选择。 我听说过关于Ruby的很棒的东西,但我的想法是关注Node.js,可能只是因为我喜欢在服务器 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM