热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:利用TcpClient,简单的tcp消息收发

本文由编程笔记#小编为大家整理,主要介绍了利用TcpClient,简单的tcp消息收发相关的知识,希望对你有一定的参考价值。TcpClient和以前学过的对象,相对关系示意图如
本文由编程笔记#小编为大家整理,主要介绍了利用TcpClient,简单的tcp消息收发相关的知识,希望对你有一定的参考价值。


TcpClient和以前学过的对象,相对关系示意图如下:

技术图片

 

借助有连接的特性,它封装了很多需要一起使用的对象,用起来也更加方便。

作为服务端时,它一般配合TcpListener使用。

由监听者创建的所有客户端,都使用与监听者相同的ipendpoint。(实现上,可以理解为不同的socket指向相同的ipendpoint)

例:

说明:服务端有一个监听者(TcpListener),接收到连接请求后,建立连接给一个客户端(TcpClient)。

利用流读取器(StreamReader)获取传递过来的信息并显示。

客户端建立一个客户端对象(TcpClient),连接服务端后就可以利用流写入对象(StreamWriter)发送数据。

代码如下:

服务端:


1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using System.Net;
7 using System.Net.Sockets;
8 using System.IO;
9
10 namespace ConsoleApp1
11 {
12 class Program
13 {
14 static void Main(string[] args)
15 {
16 TcpListener listener = new TcpListener(IPAddress.Any, 9000);
17 TcpClient client = new TcpClient();
18 StreamReader sr;
19 string msg;
20 listener.Start();
21 client = listener.AcceptTcpClient();
22 sr = new StreamReader(client.GetStream());
23 do
24 {
25 msg = sr.ReadLine();
26 Console.WriteLine(msg);
27 } while (msg.ToLower()!="exit");
28 }
29 }
30 }

客户端:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
TcpClient tcp
= new TcpClient();
string msg;
IPEndPoint iPEndPoint
= new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9000);
tcp.Connect(iPEndPoint);
StreamWriter sw
= new StreamWriter(tcp.GetStream());
do
{
msg
= Console.ReadLine();
sw.WriteLine(msg);
sw.Flush();
}
while (msg.ToLower()!="exit");
}
}
}

运行效果:

技术图片

 


推荐阅读
author-avatar
king1994
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有