TcpClient 错误"不能做任何连接,因为目标机器积极地拒绝它" 的解决

//以下是tcpclient服务器端的监听程序,假设服务器端和客户端在同一台机器上,
//为了使客户端可以使用localhost/127.0.0.1/192.168.1.2等多种情况,
//应该使用IPAddress.Any,而不是指定一个ip,以下是msdn的说明
//msdn
//此构造函数允许指定本地 IP 地址和用于侦听传入的连接尝试的端口号。在调用该构造函数之前,必须首先使用所需的本//地地址创建 IPAddress。将此IPAddress 作为 localaddr参数传递给构造函数。如果您不介意分配哪个本地地址,//请将 localaddr 参数指定为 IPAddress.Any,这样基础服务提供程序将分配最适合的网络地址。如果您有多个网络接//口,这将有助于简化您的应用程序。如果您不介意使用哪个本地端口,可以指定0 作为端口号。在这种情况下,服务提供//程序将分配一个介于 1024 和 5000 之间的可用端口号。如果使用这种方法,则可以使用 LocalEndpoint属性发现所//分配的本地网络地址和端口号。

//以下是服务器端的程序
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace TcpReceive
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

Thread thread = new Thread(new ThreadStart(MyListen));
            thread.Start();
        }

public void MyListen()
        {
            IPAddress localAddr = IPAddress.Parse("192.168.1.2");
            Int32 port = 2112;
            TcpListener tcpListen = new TcpListener(IPAddress.Any,port);
            tcpListen.Start();

while (true)
            {
                TcpClient tcpClient = tcpListen.AcceptTcpClient();

NetworkStream ns = tcpClient.GetStream();
                StreamReader sr = new StreamReader(ns);
                string res = sr.ReadToEnd();

Invoke(new UpdateDisplayDelegate(UpdateDisplay), new object[] { res });
            }

//tcpClient.Close();
            //tcpListen.Stop();

}

public void UpdateDisplay(string text)
        {
            this.textBox1.Text += text;
        }

protected delegate void UpdateDisplayDelegate(string Text);

}
}

//以下是客户端程序
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.IO;
using System.Net.Sockets;

namespace TcpSend
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

private void button1_Click(object sender, EventArgs e)
        {
            TcpClient tcpClient = new TcpClient(this.textBox1.Text,int.Parse(this.textBox2.Text));
            NetworkStream ns = tcpClient.GetStream();
            FileStream fs = File.Open("d:\\123.txt",FileMode.Open);

int data = fs.ReadByte();
            while (data != -1)
            {
                ns.WriteByte((byte)data);
                data=fs.ReadByte();
            }
            fs.Close();
            ns.Close();
            tcpClient.Close();

}
    }
}

TcpClient 错误"不能做任何连接,因为目标机器积极地拒绝它" 的解决的更多相关文章

  1. Socket 连接"由于目标机器积极拒绝,无法连接" 的诊断

    1.如果是采用TCP/udp协议进行连接,检查windows防火墙是否开放相应SocketTCP/udp端口;   简单的检测方法是关闭windows防火墙后再试;2.如果服务器端和客户端均在本机上运 ...

  2. SVN 无法连接主机:由于目标计算机积极拒绝,无法连接

    问题:使用追溯功能时因为时间太长,所以强行关闭了SVN;当再次连接的时候就发现不能连接到SVN了,错误消息: 无法连接主机:由于目标计算机积极拒绝,无法连接 解决:重启一下服务器的SVN 服务就可以了

  3. IM推送保障及网络优化详解(二):如何做长连接加推送组合方案

    对于移动APP来说,IM功能正变得越来越重要,它能够创建起人与人之间的连接.社交类产品中,用户与用户之间的沟通可以产生出更好的用户粘性. 在复杂的 Android 生态环境下,多种因素都会造成消息推送 ...

  4. 【转】SVN提示:由于目标机器积极拒绝,无法连接 的解决方法

    转载地址:http://wxiaolei.blog.163.com/blog/static/1038760120133108180596/ 安装完TSVN之后,checkout时报错,并且后来在cmd ...

  5. 在有跳板机的情况下,SecureCRT自动连接到目标服务器

    为了服务器的安全,运维人员经常会要求我们先登录到跳板机,然后再SSH连接到目标服务器.但是这样是很繁琐的,每次在SecureCRT创建一个连接,都需要输入SSH命令,然后输入密码. 下面的方法可以实现 ...

  6. sqlserver2005重新安装(安装汇编错误,安装程序无法连接到数据库服务进行服务配置)

    2014-01-09 16:41 1687人阅读 评论(1) 收藏 举报 分类: 数据库(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. sqlserver2005重新安装(安装汇编错误, ...

  7. Reporting Service 2008 “报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的”

    今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) .具体情况 ...

  8. SRC是在本位置显示:source的缩写,源的意思 HREF是点击后连接的目标:HyperlinkReference,超链接引用

    SRC是在本位置显示:source的缩写,源的意思HREF是点击后连接的目标:HyperlinkReference,超链接引用

  9. sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233) 然后再连接:错误:18456

    问题:sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误.(provider:命名管道提供程序,error:0-管道的另一端上无任何进程.)(Microsoft S ...

随机推荐

  1. devexpress中如何绑定ASPxTreeList控件

    效果图: //前端控件代码: <dx:ASPxTreeList ID="Tree_Gooslist" AutoGenerateColumns="False" ...

  2. MVC ckeditor的基本使用

    之前在自己的WebForm练习项目里面用到过ckeditor,时隔蛮久后,今天再一次把ckeditor运用到MVC里面,用于最近着手开发的企业站的新闻动态的内容之新增与修改. 找到的资料都说要把下载的 ...

  3. javascript设计模式-外观模式

    也可译为门面模式.它为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.引入外观角色之后,使用者只需要直接与外观角色交互,使用者与子系统之 ...

  4. mongodb replica set(副本集)设置步骤

    网上已经有一大堆的设置步骤的了,根据我遇到的问题,整理一下,如下: 首先先去下载一个mongodb最新版,目前最新版应该是2.6 cd /usr/local/bin wget http://fastd ...

  5. 尝试自己建立以alpine 为基础的docker基础镜像和组件镜像

    安装ubuntu14.04 然后 #获取root权限 sudo su #安装docker apt-get install docker #准备基础镜像 docker pull alpine docke ...

  6. 【MySQL】触发器学习

    MySQL手册中对触发器的定义是: 触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象.表必须是永久性表,不能将触发程序与临时表与视图关联起来. 相同触发程序动作时间和事件的给定表 ...

  7. c++ builder TListView控件按字符串排序(根据网上代码亲测ok)

    //--------------------------------------------------------------------------- /* 首先将一个列表框控件安放在Form上, ...

  8. Mysql授权GRANT ALL PRIVILEGES

    1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...

  9. 显示或隐藏一个Grid

    The Rowset class contains two methods that can be used to show and hide all rows: ShowAllRows() Hide ...

  10. 最近的学习的linux命令笔记

    vmstat 2 2 mail -s nihao root < test.txt     f 323   h 300-310 crontab  -l,-e,-r    vim /etc/cron ...