如何用.net实现两台机子之间的数据间的传送?
来源:互联网 发布:21天学通c语言第七版 编辑:程序博客网 时间:2024/05/01 13:58
可以用TcpClient,TcpListener
抄一段书里的代码:下面实现一个Server
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class TcpListenerSample
{
public static void Main()
{
int recv;
byte[] data = new byte[1024];
TcpListener newsock = new TcpListener(9050); //绑定端口
newsock.Start();
Console.WriteLine("Waiting for a client...");
TcpClient client = newsock.AcceptTcpClient(); //接收一个客户端连接
NetworkStream ns = client.GetStream(); //获得输入输出流
string welcome = "Welcome to my test server";
data = Encoding.ASCII.GetBytes(welcome);
ns.Write(data, 0, data.Length);
while(true) //循环接收数据
{
data = new byte[1024];
recv = ns.Read(data, 0, data.Length);
if (recv == 0)
break;
Console.WriteLine(
Encoding.ASCII.GetString(data, 0, recv));
ns.Write(data, 0, recv);//将接收到的返回给Client
}
ns.Close();
client.Close();
newsock.Stop();
}
}
//下面实现一个Client
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class TcpClientSample
{
public static void Main()
{
byte[] data = new byte[1024];
string input, stringData;
TcpClient server;
try
{
server = new TcpClient("127.0.0.1", 9050);//服务器的IP端口
} catch (SocketException)
{
Console.WriteLine("Unable to connect to server");
return;
}
NetworkStream ns = server.GetStream();
int recv = ns.Read(data, 0, data.Length);
stringData = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine(stringData);
while(true)
{
input = Console.ReadLine();
if (input == "exit")//如果输入exit则退出连接
break;
ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);
ns.Flush();
data = new byte[1024];
recv = ns.Read(data, 0, data.Length);
stringData = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine(stringData);
}
Console.WriteLine("Disconnecting from server...");
ns.Close();
server.Close();
}
}
摘自《C# Network Programming》,加了一些注释。
- 如何用.net实现两台机子之间的数据间的传送?
- 如何用网线实现两台电脑之间的文件共享
- 如何用一根网线实现在两台电脑之间传输数据
- 如何用个人开发者账号在两台机子上进行真机测试
- 如何用实现.NET的插件机制
- 一个两台机子同步文件的脚本
- 如何用repo在两台局域网内的主机上传code
- 两台linux主机之间传送文件
- 两台centos之间传送文件
- linux scp-两台服务器之间传输数据的命令
- 两台不同的数据库之间数据关联
- 用Socket 实现两台机子上的两个文件时实同步,可以注入到WIN服务运行
- 数据库之间表之间数据的传送
- 如何实现两台Domino之间的相互访问
- 练习:模拟实现两台计算机之间的通信
- 实现两台Android模拟器之间的Socket通讯
- 如何用asp.net来快速的实现添加水印
- 如何用rownum实现大于、小于逻辑?(返回rownum在4—10之间的数据)
- asp.net将Excel表导入到sql数据库 源代码参考
- MFC之程序框架
- Eclipse反编译插件Jadclipse
- 学而不思则罔,思而不学则殆
- ANT初步使用
- 如何用.net实现两台机子之间的数据间的传送?
- XSLT基本概念
- CString,int,string,char*之间的转换
- 开车危险啊
- java 实现web service的框架
- 日本历史简表及历代天皇名录时间表
- 检查页面是否带参访问
- Java: CMD下编译,打包,运行
- 日本战国时代两大英雄——织田信长和丰成秀吉