当前位置: 首页 > wzjs >正文

镇江网站设计多少钱百度推广电话号码

镇江网站设计多少钱,百度推广电话号码,织梦模板修改教程,全网营销渠道TCP服务器和客户端的作用TCP服务器和客户端是网络通信中的两个核心组件,用于实现可靠的数据传输。服务器端负责监听并处理客户端的连接请求,客户端则主动发起连接请求。TCP协议确保数据的有序性、可靠性和完整性,适用于需要稳定传输的场景&am…

TCP服务器和客户端的作用

TCP服务器和客户端是网络通信中的两个核心组件,用于实现可靠的数据传输。服务器端负责监听并处理客户端的连接请求,客户端则主动发起连接请求。TCP协议确保数据的有序性、可靠性和完整性,适用于需要稳定传输的场景(如文件传输、网页访问等)。


使用Socket实现TCP服务器和客户端

TCP服务器端代码(C#)
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;class TcpServer
{static void Main(){IPAddress ipAddress = IPAddress.Parse("127.0.0.1");int port = 8080;// 创建Socket并绑定IP和端口Socket serverSocket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);serverSocket.Bind(new IPEndPoint(ipAddress, port));serverSocket.Listen(10); // 设置最大等待连接数Console.WriteLine("服务器已启动,等待客户端连接...");// 接受客户端连接Socket clientSocket = serverSocket.Accept();Console.WriteLine($"客户端已连接: {clientSocket.RemoteEndPoint}");// 接收数据byte[] buffer = new byte[1024];int bytesReceived = clientSocket.Receive(buffer);string receivedData = Encoding.UTF8.GetString(buffer, 0, bytesReceived);Console.WriteLine($"收到数据: {receivedData}");// 发送响应string response = "服务器已收到消息";clientSocket.Send(Encoding.UTF8.GetBytes(response));// 关闭连接clientSocket.Shutdown(SocketShutdown.Both);clientSocket.Close();serverSocket.Close();}
}

TCP客户端代码(C#)
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;class TcpClient
{static void Main(){IPAddress ipAddress = IPAddress.Parse("127.0.0.1");int port = 8080;// 创建Socket并连接服务器Socket clientSocket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);clientSocket.Connect(new IPEndPoint(ipAddress, port));Console.WriteLine("已连接到服务器...");// 发送数据string message = "Hello, Server!";clientSocket.Send(Encoding.UTF8.GetBytes(message));// 接收响应byte[] buffer = new byte[1024];int bytesReceived = clientSocket.Receive(buffer);string response = Encoding.UTF8.GetString(buffer, 0, bytesReceived);Console.WriteLine($"服务器响应: {response}");// 关闭连接clientSocket.Shutdown(SocketShutdown.Both);clientSocket.Close();}
}


使用TcpListener和TcpClient实现(更高层封装)

TCP服务器端(TcpListener)
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;class TcpServer
{static void Main(){TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 8080);server.Start();Console.WriteLine("服务器已启动,等待客户端连接...");TcpClient client = server.AcceptTcpClient();Console.WriteLine($"客户端已连接: {((IPEndPoint)client.Client.RemoteEndPoint).Address}");NetworkStream stream = client.GetStream();byte[] buffer = new byte[1024];int bytesRead = stream.Read(buffer, 0, buffer.Length);string receivedData = Encoding.UTF8.GetString(buffer, 0, bytesRead);Console.WriteLine($"收到数据: {receivedData}");string response = "服务器已收到消息";stream.Write(Encoding.UTF8.GetBytes(response), 0, response.Length);stream.Close();client.Close();server.Stop();}
}

TCP客户端(TcpClient)
using System;
using System.Net.Sockets;
using System.Text;class TcpClient
{static void Main(){System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient("127.0.0.1", 8080);Console.WriteLine("已连接到服务器...");NetworkStream stream = client.GetStream();string message = "Hello, Server!";stream.Write(Encoding.UTF8.GetBytes(message), 0, message.Length);byte[] buffer = new byte[1024];int bytesRead = stream.Read(buffer, 0, buffer.Length);string response = Encoding.UTF8.GetString(buffer, 0, bytesRead);Console.WriteLine($"服务器响应: {response}");stream.Close();client.Close();}
}


关键步骤说明

服务器端流程

  • 创建Socket或TcpListener并绑定IP/端口。
  • 监听客户端连接请求(AcceptAcceptTcpClient)。
  • 通过NetworkStream或Socket接收/发送数据。
  • 关闭连接和资源。

客户端流程

  • 创建Socket或TcpClient并连接服务器。
  • 通过NetworkStream或Socket发送/接收数据。
  • 关闭连接和资源。

两种方式均能实现TCP通信,Socket提供更底层控制,而TcpListener/TcpClient封装了细节,更适合快速开发。

还可使用开源类库SimpleTCP

SimpleTCP的优点

SimpleTCP是一个轻量级的C#网络库,简化了TCP通信的开发流程。
封装了底层Socket的复杂性,提供简洁的API。
支持异步操作,适合处理高并发场景。
内置消息分割机制(如基于分隔符或固定长度),避免粘包问题。

SimpleTCP的缺点

依赖.NET环境,跨平台支持有限(需配合Mono等工具)。
功能较基础,复杂需求(如加密、压缩)需自行扩展。
文档和社区资源较少,调试可能依赖源码。

最后更新时间是2017年,不过库的功能比较简单、单一,也没那么多更新的内容。

底层是基于TcpClient的,性能注定不会太高,但能用TcpClient的地方都可以用它。


创建SimpleTCP服务器代码

using SimpleTCP;
using System;class ServerExample
{static void Main(){var server = new SimpleTcpServer().Start(9000);server.DataReceived += (sender, msg) => {Console.WriteLine($"收到消息: {msg.MessageString}");msg.ReplyLine("服务器已接收");};Console.WriteLine("服务器启动,按任意键退出...");Console.ReadKey();server.Stop();}
}

创建SimpleTCP客户端代码

using SimpleTCP;
using System;class ClientExample
{static void Main(){var client = new SimpleTcpClient();client.Connect("127.0.0.1", 9000);client.WriteLine("Hello Server!");var reply = client.ReadLine();Console.WriteLine($"服务器回复: {reply}");client.Disconnect();}
}


关键说明

服务器需监听端口并处理DataReceived事件,客户端通过Connect建立连接。
MessageString自动处理编码转换(默认UTF-8)。
ReplyLine用于服务器直接回复当前客户端。

如需更复杂功能(如自定义协议),可扩展SimpleTcpServerSimpleTcpClient类。

http://www.dtcms.com/wzjs/91702.html

相关文章:

  • 企业邮箱注册申请需要付费吗上海企业seo
  • 北京做网站建设的公司排名cps推广
  • 网站的结构怎么做广告投放运营主要做什么
  • wordpress3.0手机版关键词优化哪家强
  • 最新网站推广方法项目推广计划书
  • 郑州模板建站哪家好代做百度首页排名价格
  • 天津网站建设推广长沙seo优化价格
  • 求邯郸网站制作互联网销售模式
  • 响应式企业网站开发所用的平台seo外链是什么
  • 如何提高网站安全百度6大核心部门
  • wordpress 页脚链接seo公司是做什么的
  • 东莞五金网站建设千网推软文推广平台
  • 西安自适应网站建设今日新闻最新10条
  • wordpress桌面应用程序深圳网站营销seo电话
  • 网站后台登录怎么做的淘宝数据查询
  • 小语种网站建设要点seo优化一般包括哪些
  • 计算机网站开发毕业论文题目太原seo网站优化
  • 找做网站技术人员百度百家号怎么赚钱
  • 企业网站可以自己做搜索引擎广告推广
  • php网站做语言包石家庄网站优化
  • 网站服务公司业务范围包括网站制作流程图
  • 企业策划书模板seo搜索培训
  • 河北省镇政府做网站吗自己怎么优化网站排名
  • 做网站 就上凡科建站东莞网站建设做网站
  • 如何选择靠谱的网站建设公司seo专员工作内容
  • 做网站的公司不会设计网站优化最为重要的内容是
  • tp 网站建设源码指数基金什么意思
  • 政府门户网站设计企业在线培训系统
  • 广东做网站的公司微信推广朋友圈广告
  • 推广链接网站网络营销与管理专业是干什么的