TcpClient 服务器、客户端连接

2024-06-14 04:20

本文主要是介绍TcpClient 服务器、客户端连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TcpClient 服务器

TcpListener 搭建tcp服务器的类,基于socket套接字通信的

1 创建服务器对象

TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 3000);

 2 开启服务器 设置最大连接数

server.Start(1000);

3 接收客户端的链接,只能接收一个 并且会卡死在主线程,
            返回的是一个客户端

TcpClient client = server.AcceptTcpClient();

4 创建一个文件流,接收和发送数据

NetworkStream stream = client.GetStream();

5 发送数据

byte[] buffer = Encoding.UTF8.GetBytes("郑州门诊28元");
stream.Write(buffer, 0, buffer.Length);

6 接收客户端数据

int count = stream.Read(bs, 0, bs.Length);
Console.WriteLine(client.Client.RemoteEndPoint.ToString()+"读取客户端数据为"+Encoding.UTF8.GetString(bs,0,count));

TcpClient 客户端

TcpClient 处理客户端TCP通信的类型

 1 创建客户端对象

TcpClient t1 = new TcpClient();

2 链接服务器

t1.Connect("127
0.0.1", 3000);

3 创建网络基础流 进行发送和接受数据

NetworkStream stream = t1.GetStream();

 4 发送数据

byte[] send = Encoding.UTF8.GetBytes("我信怒天帝在此,何惧世间一切风雨!晚");
stream.Write(send, 0, send.Length);

5 接收数据

byte[] r = new byte[1024];
int count = stream.Read(r, 0, r.Length);
Console.WriteLine(Encoding.UTF8.GetString(r,0,count))

 6 关闭

t1.Close();

效果图如下

这篇关于TcpClient 服务器、客户端连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059356

相关文章

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

Navicat连接Mysql8.0.11出现1251错误的解决方案

《Navicat连接Mysql8.0.11出现1251错误的解决方案》在重装电脑并安装最新版MySQL后,Navicat和Sqlyog连接MySQL时遇到的1251和2058错误,通过将MySQL用户... 目录Navicat连接mysql8.0.11出现1251错误原因分析解决问题方法有两种总结Navic

Python连接Spark的7种方法大全

《Python连接Spark的7种方法大全》ApacheSpark是一个强大的分布式计算框架,广泛用于大规模数据处理,通过PySpark,Python开发者能够无缝接入Spark生态系统,本文给大家介... 目录第一章:python与Spark集成概述PySpark 的核心优势基本集成配置步骤启动一个简单的

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res