正文

请求解决?“由于目标机器积极拒绝,无法连接。”2007-02-08 09:22:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/Csharpsky/23158.html

分享到:

我是要实现两个计算机通讯,访问过程中产生这样的错误提示:“由于目标机器积极拒绝,无法连接。” socket编程小弟刚刚接触,很不懂,请执教! 代码:(别人的自己拿来练习)using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using System.IO;using System.Collections; namespace SocketSample{    public partial class SocketSample : Form    {        private NetworkStream networkStream;        private StreamReader streamReader;        private StreamWriter streamWriter;        ArrayList sb;        TcpClient myclient ;        bool flag = false;         public SocketSample()        {            sb = new ArrayList();            InitializeComponent();            if (!flag)                Connect();             //get a Network stream from the server            networkStream = myclient.GetStream();            streamReader = new StreamReader(networkStream);            streamWriter = new StreamWriter(networkStream);            ShowMessage();        }         protected void Connect()        {            //connect to the "localhost" at the give port            //if you have some other server name then you can use that instead of "localhost"             try            {                sb.Add("Conneting to Server");                myclient = new TcpClient("192.168.1.223", 1234);                sb.Add("Conneted,Please enter something in the textbox");            }            catch(Exception ex)            {                MessageBox.Show(ex.Message);                sb.Add(string.Format("Failed to connect to server at {0}:1234", "localhost"));            }            flag = true;        }         protected void ShowMessage()        {            for (int i = 0; i < sb.Count; i++)            {                t2.Items.Add((object)sb[i].ToString());            }            sb.Clear();        }         private void t1_TextChanged(object sender, EventArgs e)        {            if (t1.Text == "")                bts.Enabled = false;            else                bts.Enabled = true;         }         private void bts_Click(object sender, EventArgs e)        {            if (t1.Text == "")            {                sb.Add("Please enter something in the textbox.");                t1.Focus();                return;            }            string s;            try            {                streamWriter.WriteLine(t1.Text);                Console.WriteLine("Sending Message");                streamWriter.Flush();                s = streamReader.ReadLine();                Console.WriteLine("Reading Message");                Console.WriteLine(s);                sb.Add(s);                t1.Text = "";                t1.Focus();                ShowMessage();            }            catch            {                MessageBox.Show("Error.");            }            }     }}上面的为客户端下面的为服务器端using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;using System.IO; namespace Echoserver{    class Echoserver    {        static void Main(string[] args)        {            //TcpListener is listening on the given port            Int32 port = 1234;             //IPAddress is connetct ip address            //IPAddress addr = IPAddress.Parse("127.0.0.1");            IPAddress ipAddress = Dns.GetHostEntry("localhost").AddressList[0];             TcpListener tcpListener = new TcpListener(ipAddress, port);            tcpListener.Start();            Console.WriteLine("Server Started");            //Accepts a new connection            Socket socketForClient = tcpListener.AcceptSocket();            //StreamWriter and StreamReader Classes for reading and writing the data to and from.            //The server reads the meassage sent by the Client ,converts it to upper case and sends it back to the client.            //Lastly close all the streams.            try            {                if (socketForClient.Connected)                {                    while (true)                    {                        Console.WriteLine("Client connected");                        NetworkStream networkStream = new NetworkStream(socketForClient);                        StreamWriter streamWriter = new StreamWriter(networkStream);                        StreamReader streamReader = new StreamReader(networkStream);                        string line = streamReader.ReadLine();                        Console.WriteLine("Read:" + line);                        line = line.ToUpper() + "!";                        streamWriter.WriteLine(line);                        Console.WriteLine("Wrote:" + line);                        streamWriter.Flush();                    }                }                socketForClient.Close();                Console.WriteLine("Exiting");            }            catch (Exception e)            {                Console.WriteLine(e.ToString());            }        }    }}

阅读(40146) | 评论(8)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册