如题,  我在本机测试一个 发送接收数据的程序,现在我把端口都设置为80,但程序一启动就会报错: (通常每个套接字地址(协议/网络地址/端口)只允许使用一次)   请问,客户端与服务端 端口该怎么设置?                     谢谢!!!!!!!!!1

解决方案 »

  1.   


    以下部分代码: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();
            }
    现在仍然是一样的问题,换了端口也不好使!
      

  2.   

    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();
    这是一个一部的例子
      

  3.   

    服务端: 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();