- 浏览: 276098 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
weituotian:
这篇文章真的很好阿
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 -
clshuai:
博主,你好,看了你的这篇文章,让我很敬佩。可谓内容之全,涵盖范 ...
C#操作Excel -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题
服务端:
/// <summary> /// 清理所有正在使用的资源。 /// </summary> /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param> protected override void Dispose(bool disposing) { try { s.Close(); th.Abort(); } catch { } if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } /*********************************************************************** * 服务端: * (1)用指定的端口和IP建立EndPoint对象 * (2)建立一个Socket对象 * (3)用Socket对象的Bind()方法绑定IPEndPoint * (4)用Socket对象的Listen()方法开始监听 * (5)接收到客户端的连接,用Socket对象的Accept()方法创建新的Socket对象和请求的客户端进行通信 * (6)通信结束后,关闭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.Threading; namespace 同步 { public partial class Server : Form { string recvStr = ""; Socket s; string host; Thread th; public Server() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { th = new Thread(new ThreadStart(Receive)); th.Start(); } private string GetIP() { IPHostEntry ipe = Dns.GetHostByName(Dns.GetHostName()); return ipe.AddressList[0].ToString(); } private void Receive() { if ("" == textBox1.Text) { return; } int port = int.Parse(textBox2.Text.Trim()); host = textBox1.Text.Trim(); IPAddress ip = IPAddress.Parse(host);//把IP地址字符串转换为IPAdderess类型 IPEndPoint ipe = new IPEndPoint(ip, port);//用IP和port初始化IPEndPoint类的新实例 //创建一个socket对像,如果用udp协议,则要用SocketType.Dgram类型的套接字 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); s.Bind(ipe);//为新建的Socket实例绑定IPEndPonit对象 while (true) { try { s.Listen(5);//开始监听 Socket temp = s.Accept();//为新建的连接创建Socket对象 byte[] recvBytes = new byte[1024]; int bytes; bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//从客户端接收信息 recvStr = Encoding.ASCII.GetString(recvBytes, 0, bytes);//把byte[]转换成字符串 string msg = DateTime.Now.ToShortTimeString(); msg += "server get message from" + temp.RemoteEndPoint.ToString(); msg +="Message:"+ recvStr; //textBox3.Text = msg; listBox1.Items.Add(msg); string sendStr = "ok!Client send message successful"; byte[] bs = Encoding.ASCII.GetBytes(sendStr);//把字符串转换成byte[] temp.Send(bs, bs.Length, 0);//返回信息给客户端 temp.Close(); } catch (System.Exception ex) { this.label4.Text =ex.Message .ToString (); } } } private void Server_Load(object sender, EventArgs e) { textBox1.Text = GetIP(); } } }
客户端:
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; namespace Clinet { public partial class Clinet : Form { public Clinet() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Send(); } private void Send() { int port = int.Parse(this.txtPort.Text.Trim()); string host = this.txtIP.Text.Trim(); IPAddress ip = IPAddress.Parse(host);//将Ip地址由字符串转换为IPAddress类型 IPEndPoint ipe = new IPEndPoint(ip, port);//用指定的IP和端口初始化IPEndPoint类的新实例 //建立Socket对象 Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); c.Connect(ipe);//连接服务器 string sendStr = ""; sendStr = textBox3.Text.Trim (); byte[] bs = Encoding.ASCII.GetBytes(sendStr);//把字符串转换为byte类型 c.Send(bs, bs.Length, 0);//向服务器发送信息 string recvStr = ""; byte[] recvBytes = new byte[1024]; int bytes; bytes = c.Receive(recvBytes, recvBytes.Length, 0);//接收服务器返回的信息 recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes); this.label4.Text = "Clinet get message:" + recvStr; c.Close(); } } }
发表评论
-
C#获取本地IP
2012-06-06 14:39 888/// <summary> ... -
只能启动单个程序
2012-05-04 12:51 783bool ret; System. ... -
.Net控件命名规范
2012-04-25 14:45 772<!--------------A----------- ... -
DataGridView绑定数据时,时间格式显示不全的问题
2012-04-25 13:54 991DataGridView绑定数据时,时间格式显示问题 今天做 ... -
把Dgv的颜色改回默认颜色
2012-04-25 13:35 924dgv.Rows[i].DefaultCellStyle.Ba ... -
Winform 去掉 最大化 最小化 关闭按钮 保留左侧图片
2012-04-23 17:02 1144using System; using System.Col ... -
禁用窗体的关闭按钮
2012-04-23 16:58 838[DllImport("USER32 ... -
c#中用声音提示报警
2012-03-14 09:51 1699using System; using System.Ru ... -
WinForm 查看控制台输出
2012-02-15 10:39 1271/// <summary> ... -
C# 启动外部程序的几种方法
2011-10-17 19:15 7201. 启动外部程序,不等待其退出。2. 启动外部程序,等待其退 ... -
解决VS2005不能调试线程问题
2011-08-12 12:33 2370昨天突然VS2005不能调试线程,网上找了很多方法都不行,后来 ... -
通过域名获取IP的两种方法
2011-07-16 15:09 1814//每次都去Dns服务器上 ... -
执行命名行命令
2011-07-16 14:41 681/// <summary> / ... -
获取指定目录下所有文件
2011-07-01 20:48 1453命名空间 using System.Collections; ... -
C#控制Excel的打印格式
2011-06-22 20:54 3695Excel.Application appExcel=n ... -
C#操作Excel
2011-06-22 14:28 1583using System; using System. ... -
C# 操作Excel的类
2011-06-22 14:20 1332using System; using Micro ... -
DataGridView刷新数据的问题
2011-06-21 11:39 41961、操作:UI线程修改数据后重新绑定dgv,一个后台线程定时刷 ... -
VS2005水晶报表注册码
2011-06-18 13:40 7036707437608 -
按Enter键时,焦点移到下一个控件
2011-06-18 10:06 1207#region 按Enter键时,焦点移 ...
相关推荐
NettySocket同步数据获取实现,并实现了心跳检测,客户端连接控制,客户端登陆等。 Demo代码
本例子运用C#中的Socket类进行以太网同步通信,里面有服务器和客户端界面,可以传输文件和文字,代码有大量的注释,可以让初学者很好的理解socket TCP网络编程。
通用数据传输socket构架源码 源码描述: 一、源码特点 1、此软件的基本思想是为了建立一套简单稳点可多负载的架构,通用数据通讯构建,设计基于TCP通信的交互框架。目前以达到3.0版本,可规范先后台交互处理,可...
参考了许多大侠的代码,才写出来东东,没对数据做校验,希望给正在研究这方的东东的人一点参考.里面包含文件以及DataTable传输等
该程序通过c/c++实现windows环境下的socket通过tcp/udp传输文件,在传输的过程将客户端的数据首先保存在缓冲区里,然后读入链表最后遍历链表以还原文件,在此过程中有用到多线程技术实现同步操作
visual c++ socket IOCP完成端口实现网络数据传输 iocp服务器+客户端.zip Server端用的是同步的Accept函数
基于TDI 的 TCP数据传输 1.上位机 上位机包括tcp和tcp.cpp 1.1 对外函数说明 HANDLE TdiTcpOpen(); TdiTcpOpen用于打开设备,成功返回有效的句柄,失败返回INVALID_HANDLE_VALUE. BOOL TdiTcpClose(HANDLE ...
基于python socket tcp局域网同步文件夹功能和wxpthon的界面。 需要局域网传输同步工具可直接下载使用.支持双向传输和单向传输
通过底层和同步接口传输数据报的时候需要使用 libevent。libafdt 有两个高层接口:异步接口和同步接口。一般前者是基于 libevent 的客户端或服务器。它使用回调功能使程序处理高级活动。后者不需要的libevent,但在...
首先从原理上解释一下采用Socket 接口的网络通讯,这里以最常用的 C/S 模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来 连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按...
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: ...5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。 6、支持匿名传输。
Socket编程:利用Java的Socket API实现客户端和服务器之间的通信,建立TCP连接进行数据传输。 文件流操作:使用Java的文件输入输出流(FileInputStream、FileOutputStream)读取和写入文件内容。 多线程处理:通过多...
使用 socket.io 在客户端/浏览器和 node.js 服务器之间同步 POJO ##它能做什么 该库允许您在多个客户端和服务器之间保持数据对象是最新的。 这个怎么运作 一旦你与Client.put(object)共享了一个对象,它(以及它...
烧瓶socketio视频流 这是尝试使用 getUserMedia() 捕获视频流,使用 websockets 将其发送到服务器,然后在视频控件中播放。 它几乎不起作用,帧速率非常慢。 试试看: virtualenv env --no-site-packages ...
IP数据报格式 网际校验和 路由 04TCPIP基础(四) TCP特点 TCP报文格式 连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06...
前言 Web端与服务器间的实时数据传输的是一个很重要的需求,但最早只能通过AJAX轮询询实现。...socket.io将数据传输部分独立出来形成了engine.io , engine.io对WebSocket和AJAX轮询进行封装,形成一套
本文为大家分享了python使用tcp实现局域网内文件传输的具体代码,供大家参考,具体内容如下 功能: 可以利用python创建的TCP客户端从我们自己搭建的TCP服务器上下载文件。 实现需求: 安装socket模块 简单了解...
Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时...传输数据过程中可以实行压缩及解压缩操作,减少带宽流量。支持scp、ssh及直接socket方式连接,支持匿名传输。支持Linux, Window平台。
爱拉迪欧一个Erlang HTTP服务器,该服务器将数据流传输到多个客户端,从而以低延迟进行了有损的时间同步。 HTTP / 1和HTTP / 2使用TCP作为其传输协议,这对于“实时流式传输”(即低延迟时间同步流式传输)是有问题...