c#socket实验点对点通信的程序时通信不成功报错

刚学习用c#的socket来通信,在同一个局域网的两台电脑进行测试,出现不能链接的情况,如图所示,请问是什么原因
界面如下:图片说明
报错如下:图片说明

代码如下

 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.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;

namespace _508P2PServer
{
    public partial class Form1 : Form
    {
        Thread td;
        TcpListener tcpl;
        static string message = "";
        public Form1()
        {
            InitializeComponent();
        }
        void StartListen()
        {
            tcpl = new TcpListener(888);
            tcpl.Start();
            while(true)
            {
                TcpClient tclient = tcpl.AcceptTcpClient();
                NetworkStream netstream = tclient.GetStream();
                byte[] mbyte = new byte[1024];
                int i = netstream.Read(mbyte,0,mbyte.Length);
                message = Encoding.Default.GetString(mbyte,0,i);
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            td = new Thread(new ThreadStart(this.StartListen));
            td.Start();
            timer1.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                IPAddress[] ip = Dns.GetHostAddresses(Dns.GetHostName());
                string strmes = this.textBox2.Text + ip[0].ToString() + DateTime.Now.ToLongTimeString() + "\n" + richTextBox2.Text + "\n";
                TcpClient client = new TcpClient(textBox1.Text, 888);
                NetworkStream netstream = client.GetStream();
                StreamWriter streamw = new StreamWriter(netstream, Encoding.Default);
                streamw.Write(strmes);
                streamw.Flush();
                streamw.Close();
                client.Close();
                richTextBox1.AppendText(strmes);
                richTextBox1.ScrollToCaret();
                richTextBox2.Clear();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (message != "")
            {
                richTextBox1.AppendText(message);
                richTextBox1.ScrollToCaret();
                message = "";
            }
        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (this.tcpl != null)
            {
                tcpl.Stop();

            }
            if (td != null)
            {
                if(td.ThreadState==ThreadState.Running)
                {
                    td.Abort();
                }
            }
        }

    }
}

请问问题出在哪

3个回答

两边防火墙都关掉,然后ping下看通不通。通了再试你的程序,不行换一个端口。

zcguoji
zcguoji ping都没问题的
接近 4 年之前 回复

这个需要单步调试你的程序了,出现这个错误一般是服务端不提供服务了,即服务端发生了异常。

你再查一下你的两台电脑的IP地址,你截图上显示的你是连接到192.168.0.1,这个IP一般是路由器的,当然有些路由器使用的是其他的IP,只是确认一下。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
1-2 实验2 点对点通信
1、实验内容:两个ZigBee节点进行点对点通信,ZigBee节点2(终端节点EndDevice,稍后,下载EndDeviceEB里的代码)发送“LED”三个字符,ZigBee节点1(协调器节点Coordinator,稍后,下载CoordinatorEB里的代码)接受数据后,判断接受到的数据是否为“LED”,是,则使板子上的LED灯闪烁。 2、简介 无线传感器主要有三种类型:协调器、路由器
Zigbee 点对点通信
 #include "OSAL.h" #include "AF.h" #include "ZDApp.h" #include "ZDObject.h" #include "ZDProfile.h" //#include "Common.h" #include "GenericApp.h" #include "DebugTrace.h" #if !defined( WIN32
试验三:MicaZ-TinyOS2.x平台下点对点通讯试验-----BlinktoRadio实验
试验三:MicaZ-TinyOS2.x平台下点对点通讯试验 ——BlinktoRadio实验    试验目的:本节介绍TinyOS中的无线通信。能够熟练使用TinyOS支持通信的接口和组件,并且我们可以学习到: 1).TinyOS2.0消息缓存message_t的使用; 2).通过radio发送一个message; 3).接收一个message通过radio。 本实验所需硬件平台:2
linux下使用socket实现点对点通信的实验(server to client)
服务端监听两个端口,然后由客户端连接,没端都有一个发送线程和接受线程专门负责发送和接受 服务端流程:创建socket,绑定port(要先填充网络地址结构体),监听port,accept连接,然后进行数据传输 客户端流程:创建socket,填充服务端网络地址,连接服务端对应端口,然后进行数据传输 服务端代码 #include #include #include #incl
两个Docker容器之间创建一个点对点的连接
最近在跟着docker_practice 学docker,看到网络部分的创建容器之间点对点的连接示例时。很多命令不知所云(之前没怎么学过linux的网络配置),现在对其中的命令和步骤,逐一进行讲解。示例:创建一个点到点连接 默认情况下,Docker 会将所有容器连接到由 docker0 提供的虚拟子网中。 用户有时候需要两个容器之间可以直连通信,而不用通过主机网桥进行桥接。 解决办法很简单:创
P2P(点到点-点对点)通信实现实例
互联网上的某些知名应用,使用了P2P通信技术。这种技术,可以让没有公网IP的两个用户进行直接的通信。 这是怎么实现的呢? linux_dev_framework软件包中的p2p_server.c及p2p_client.c就是P2P通信的一个实现示例。 linux_dev_framework软件包编译后,生成的程序中,包含p2p_server.exe及p2p_client.exe两个程序。
实验二 UDP 通信实验
一、实验目的         进一步理解 Winsock API 的调用方法。         了解 UDP 协议的工作原理。         掌握 UDP 服务端程序和客户端程序的编写流程。         熟悉程序的调试方法。 二、实验设计         1、背景知识          Winsock 编程模型 Winsock 编程的主要模型分为流套接字编程模型和数据报套接字编
利用C#进行Socket通信编程之二:一个实例
    利用晚上这点闲暇时间,写了一个Socket通信的小实例,该实例包含服务器端和客户端。其基本工作流程是:当服务器启动服务以后,客户端进行连接,如果连接成功,则用户可以在发送消息框中输入待发送的消息,然后点击“Send”按钮后向服务器发送消息,服务器在收到消息后立即向该客户端发送接收成功消息。其基本效果如图1.1和图1.2所示(注:下面两幅图于次日补上):图1.1  服务器运行效果图图1.2 
点对点的通信方式
按照消息传送的方向与时间关系,分为3种:单工通信、半双工通信、全双工通信。 一、简单理解 ①单工通信:数据只能单向传输,有固定的发送者和接受者。  如:遥控器。 ②半双工通信:数据可双向交替传输,但不能同时。                如:对讲机。 ③全双工通信:数据可同时双向传输。                                      如:电话。 二、详细解
关于两个GPRS之间点对点通信的一些说明。
         最近遇到好多关于GPRS点对点通信的问题,说得太多了,我这里就详细的解释一下。        从目前来看,大部分地区移动都对移动内网之间相互通信做了限制,当然这个限制也仅仅是针对普通的CMNET用户。移动现在大力推广他们的APN专网,专网内部通信当然是没有问题的。这个东西很容易理解,无非就是移动想办法多推广点业务。APN的费用还是挺高的,标准资费就是开一个APN需要960
怎么用C++实现点对点通信
怎么用C++实现点对点通信 1、使用c++TCP /IP 编程 ,socket 或者 RemoteFuncationsCall 远程方法调用 (RPC)。  2、服务器端: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
UDP方式点对点通讯
UDP通讯服务器端源代码如下: #include #include #include #include #include #include #include #include /********************************************************************* *filename: si
C#链接数据库(mysql sqlserver)及socket实验总结
最近一直在学C#语言,便做了写.net封装的socket通信及将数据插入数据库性能的实验,于是把方法总结了下。
通信网络实验——UDP 的socket实现
一.实验目的 熟练掌握UDP、TCP协议的 Client/Server模式的通信原理。 二.实验原理 1.第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。 2.服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位
MPI点对点通信函数与通信模式
MPI最基本的通信模式是在一对进程之间进行的消息收发操作:一个进程发送消息,另一个进程接收消息。这种通信方式称为点对点通信(point to point communications)。 MPI提供两大类型的点对点通信函数。第一种类型称为阻塞型(blocking),第二种类型称为非阻塞型(non blocking)。阻塞型函数需要等待指定操作的实际完成,或至少所涉及的数据已被MPI 系统安全
基于TCP协议的点对点通信java程序,带图形界面
客户端 package client; import java.awt.*; import java.awt.event.*; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import jav
学习笔记——CC2530 信道广播实现所谓点对点收发
源程序及源程序讲解见:CC2530 RF部分使用 ——实现点对点收发 主要的子程序: void rf_send(char *pbuf, int len); //发送数据 void rf_receive_isr(); //接收数据
LoRa点对点系统4 进程通信
LoRa点对点系统中,2个进程通信时序和消息交互。
C#Socket通信(代码篇)
接着上一篇(基础篇)讲起,建议基础不好的同学,先了解一下我的C#Socket通信(基础篇)大牛就直接无视吧!服务器端所需的命名空间这里只写出了异步的通信。这个回调函数处理了客户端异常关闭的问题,用Try Catch语句接下来看客户端,客户端就简单多了现在你可以整合一下这些代码,就可以完成简单的服务器,客户端的通信了。。。但是还有个小问题是粘包和分包的问题,在这个通信中,委托在回调函数里的运用还不理...
MPI学习笔记——点对点通信
一对进程之间的数据转换,也就是说一边发送数据另一边接收数据,点到点通信是MPI通信机制的基础,它分为同步通信和异步通信二种机制。 阻塞式函数 1.       int MPI_send(void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm) IN      buf      所要发送消息数据的首地址
【原创】python报错集
我们的日常中使用python写程序时累积些常见的报错,熟悉报错种类能快速解决方法
UDP协议点对点(P2P)通讯(或者说NAT穿越)实例
UDP协议点对点(P2P)通讯实例。 【实验环境】 一个服务端Server,两个客户端:Client1和Client2 。Server和Client1在Linux系统上运行,Client2在Windows上运行。 Server端源代码: #include #include #include #include #include #include
python socket 编程01-实现基本点对点通信
python socket 编程01-实现基本点对点通信0x00 导入socket模块(客户端+服务端)要使用socket模块我们需要先导入socket:import socket0x01 创建socket实例(客户端+服务端)方法:socket=socket.socket(familly,type) 解释:familly是指明协议家族常用的有: socket.AF_UNIX (unix系统之间通
端到段、点到点通信的区别 优缺点
http://jingyan.baidu.com/article/19192ad812650de53e570781.html 端到端与点到点是针对网络中传输的两端设备间的关系而言的。端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路,就僚它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。 点到点系统指的是发送端
Redist Installer VC++运行时安装包
VC运行库,用以解决64位windows操作系统运行32位程序时报错问题。
TCP协议点对点(P2P)通讯(或者说NAT穿越)的实现方案
 TCP协议点对点(P2P)通讯(或者说NAT穿越)的实现方案 由于TCP的NAT穿越比较麻烦,而且还没有UDP的NAT穿越通用,需要点对点通讯的需求都可以用UDP的NAT穿越完成实现,所以就不亲自实践了。 下面就直接转载一篇比较好的关于TCP的NAT穿越的文章。 转自:http://www.cnblogs.com/regedit/articles/829725.html 其实很
C#Socket通信实例
此资源是一款WinFrom程序,客户端与服务器端互发数据
C#Socket通信稳定完整版类库实例
一款C#开发的稳定完整版的Socket通信应用实例
C# socket网络通讯示例程序
C# socket网络通讯示例程序,示例代码中一个是服务端,另一个客户端。本示例是学习socket通讯技术入门的最好示例。
C#Socket多线程通信(聊天室)
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket 一般有两个端,一个服务器端(ServerScoket)一个客户端(ClientSocket) Socket是tcp\ip网络协议接口。内部定义了许多的函数和例程。可以看成是网络通信的一个端点 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 相信看这篇博客
C# Socket公网聊天通信开发(TCP)
C# Socket公网聊天通信开发(TCP) server端使用vs2015写的控制台程序,server socket bind本地的ip,端口自定义,使用花生壳(nat123)软件将server程序的端口穿透到公网,便于client端在公网上进行访问。server程序在自己的电脑上运行,如果你的资金宽裕,你完全可以在各种云平台租用云主机,而放弃使用穿透软件,不过其中的环境问题实在是有意思,比如,博主之所以选择使用穿透端口,就是因为在另一个开发中server端需要使用sqlserver数据库,但
S7-200下载后总是出错的一个原因:
遇到一个问题,在纯净系统里安装了STEP 7 MicroWIN SP4,安装USB PC ADAPTER后,能顺利通过PPI协议找到S7-200 PLC,上载没有问题,下载时编译正常,但是,总是提醒出现了错误,要求查看PLC信息。查看PLC信息后,发现为主程序错误,但是将主程序清空后,还是报错。上网查原因,发现是编程软件的语言问题,我开始设定的为英文语言,于是切换成中文语言,重新启动系统(或虚拟机...
STC89C51单片机串口程序下载失败总结
STC89C51单片机串口程序下载失败总结个人实践总结(win7 64): 电脑配置的问题 串口下载软件的问题 单片机本身的问题 硬件电路的问题关于电脑配置的问题:其他一切正常,只是在该电脑无法下载程序,可以在“禁用驱动程序签名强制”模式启动电脑; 具体步骤:开机时按F8便可进入高级启动选项页面,选择最”禁用驱动程序签名强制”即可; 关于串口下载软件的问题:注意选对MCU类型,打开对应存放目的HE
Vs2010项目到2013中出现丢失MSVCP100D.dll,mfc100d.dll等解决方法
vs2010 切换到vs2013 后丢失MSVCP100D.dll,mfc100d.dll等 按照第二个说的,设置即可避免出现。自己解决了问题。
卸载顽固程序时的6个小技巧
卸载顽固程序时的6个小技巧卸载顽固程序时的6个小技巧卸载顽固程序时的6个小技巧卸载顽固程序时的6个小技巧卸载顽固程序时的6个小技巧卸载顽固程序时的6个小技巧
zigbee点对点串口收发
#include "hal_defs.h" #include "hal_cc8051.h" #include "hal_int.h" #include "hal_mcu.h" #include "hal_board.h" #include "hal_led.h" #include "hal_rf.h" #include "basic_rf.h" #include "hal_uart.h" #inc
C#简单Socket通信
Ssocket单对多,带有广播通信,Ssocket单对多,带有广播通信Ssocket单对多,带有广播通信Ssocket单对多,带有广播通信
TCP/IP通信程序设计方式
刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程序,据此一些人可能会认为TCP/IP编程很简单。其实不然,TCP/IP编程具有较为丰富的内容。其编程的丰富性主要体现在通信方式和报文格式的多样性上。 一。通信方式   主要有以下三大类:   (一)SERVER/CLIENT方式   1.一个Client方连接一个Server方,或称点对点(peer to peer
weblogic9发布程序时报错
今天在weblogic9上发布一个从weblogic8下拷贝出来的工程,在发布的时候报如下错误:   weblogic.application.ModuleException: Unmarshaller failed   google的一把,发现是web.xml中有重复定义的元素。我的是重复定义了servlet-mapping。删除重复定义元素就OK了。至于为什么weblogic8下面没报...
.net平台下C#socket通信
在开始介绍socket前先补充补充基础知识,在此基础上理解网络通信才会顺理成章,当然有基础的可以跳过去了。都是废话,进入正题。   TCP/IP:Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议,又名网络通讯协议。简单来说:TCP控制传输数据,负责发现传输的问题,一旦有问题就发出信号,要求重新传输,直到所有数据安全正
相关热词 c#多人合作开发项目策略 c# cad 坐标转换 c# 窗口内运行word c#线程睡眠 c# 静默打开打印机 c#获取当前路径的上一级 c# 去除线条 c# 取整倍数 c#窗体最大化控件不变 c# 程序更新程序案例