C# TCP/IP通信,Socket通信例子
1、服务端建立监听,等待客户端连接
class Program
{
static void Main(string[] args)
{ TcpListener listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 8000);
Console.WriteLine("1.服务端建立监听");
listener.Start();
Console.WriteLine("等待客户端连接");
TcpClient tcpClient = listener.AcceptTcpClient();
Console.WriteLine("2.1客户端已经连接");
Console.WriteLine("2.2获取到客户端传过来报文流");
NetworkStream stream = tcpClient.GetStream();
Console.WriteLine("3.初始化一个字节数组");
byte[] data = new byte[1024];
Console.WriteLine("4.从流中读取内容到字节数组");
int length = stream.Read(data, 0, 1024);
Console.WriteLine("5.将字节数组中的内容解析为字符串");
string message = Encoding.UTF8.GetString(data, 0, length);
Console.WriteLine("6.打印");
Console.WriteLine(message);
Console.WriteLine("7.关闭流");
stream.Close();
Console.WriteLine("8.停止监听者");
listener.Stop();
Console.WriteLine("9.程序结束");
Console.ReadKey();
}
}
2.从主机连接得到客户端
class Program
{
static void Main(string[] args)
{
Console.WriteLine("0.声明一个客户端");
TcpClient tcpClient = new TcpClient("127.0.0.1", 8000);
Console.WriteLine("1.从客户端得到一个流");
NetworkStream stream = tcpClient.GetStream();
Console.WriteLine("2.请输入要发送的内容");
string message = Console.ReadLine();
Console.WriteLine("3.将输入的字符串解析为字节数组");
byte[] data = Encoding.UTF8.GetBytes(message);
Console.WriteLine("4.将字节内容写入流");
stream.Write(data, 0, data.Length);
Console.WriteLine("5.关闭流");
stream.Close();
Console.WriteLine("7.关闭客户端");
tcpClient.Close();
Console.WriteLine("8.程序结束");
Console.ReadKey();
}
}
C# TCP/IP通信,Socket通信例子的更多相关文章
- TCP/IP的Socket编程
1. TCP/IP.UDP的基本概念 TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,他是一个工业标准的协议集, ...
- ios开发网络知识 TCP,IP,HTTP,SOCKET区别和联系
TCP,IP,HTTP,SOCKET区别和联系 网络由下往上分为: 对应 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- ...
- Linux内核 TCP/IP、Socket参数调优
Linux内核 TCP/IP.Socket参数调优 2014-06-06 Harrison.... 阅 9611 转 165 转藏到我的图书馆 微信分享: Doc1: /proc/sy ...
- 网络基础之HTTP、TCP/IP、Socket
一.HTTP相关 https://www.cnblogs.com/sunny-sl/p/6529830.html https://www.cnblogs.com/ranyonsue/p/5984001 ...
- TCP/IP、SOCKET、HTTP之间的联系与区别
主要内容: 1.网络的七层协议 2.TCP/IP.SOCKET.HTTP简介 3.TCP连接.HTTP连接.Socket连接的区别 一.网络的七层协议 网络七层由下往上分别为物理层.数据链路层.网络层 ...
- 网络协议HTTP、TCP/IP、Socket
网络协议HTTP.TCP/IP.Socket 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程师所研究的 ...
- TCP/IP以及Socket聊天室带类库源码分享
TCP/IP以及Socket聊天室带类库源码分享 最近遇到个设备,需要去和客户的软件做一个网络通信交互,一般的我们的上位机都是作为客户端来和设备通信的,这次要作为服务端来监听客户端,在这个背景下,我查 ...
- TCP/IP 和 Socket 的关系
要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...
- TCP,IP,HTTP,SOCKET区别和联系
物理层-- 数据链路层-- 传输层-- TCP协议 会话层-- 我 们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便 ...
- TCP/IP, HTTP, socket
摘自:http://jingyan.baidu.com/article/08b6a591e07ecc14a80922f1.html http://goodcandle.cnblogs.com/arch ...
随机推荐
- Linux readonly
1. 概念readonly在shell脚本中,用来标记变量是只读的,后续执行过程中就不能对其值进行改变,这个用来定义一些常量类的变量. 如果对其进行重新赋值,会提示错误 [root@localhost ...
- Qt编写视频监控系统76-Onvif跨网段组播搜索和单播搜索的实现
一.前言 在视频监控行业一般会用国际onvif工具来测试设备是否支持onvif协议,工具的名字叫ONVIF Device Manager(还有个工具叫ONVIF Device Test Tool,专用 ...
- Qt音视频开发27-ffmpeg视频旋转显示
一.前言 用手机或者平板拍摄的视频文件,很可能是旋转的,比如分辨率是1280x720,确是垂直的,相当于分辨率变成了720x1280,如果不做旋转处理的话,那脑袋必须歪着看才行,这样看起来太难受,所以 ...
- JSON字符串反序列化 动态泛型
需求:定时任务扫描,反射调用目标对象,但是,方法的传参不是固定的. 方案一:将方法参数存成JSON字符串,然后JSON反序列化成对象,然后反射调用 目标方法时这样的: CommandResp send ...
- [转]Vetur can't find `tsconfig.json` or `jsconfig.json` in d:\VueProjects\myroute.
vue界面启动项目 visual code报错 如下图,找到 Ignore Project Warning 前边打上对勾
- WebClient 用法小结
进来的项目中要实现能够在windows service中调用指定项目的链接页面.由于访问页面时候使用的是ie浏览器或其他浏览器,所以想起用webclient类. 如果只想从特定的URI请求文件,则使用 ...
- 修改led-core.c 让led的delay_on和delay_off时间不会应为trigger配置改版而重置为1HZ
先列一下leds trigger的设置流程 echo none > trigger 的流程 led_trigger_set() | led_stop_software_blink() echo ...
- Solution Set -「LOCAL」冲刺省选 Round I
\(\mathscr{Summary}\) 状态还行叭. A 题又犯坏习惯,走起来就大力分讨,上了个厕所之后冷静一下开始寻找比较普适性的 DP 状态,然后几乎就切掉了,可惜复杂度写假了没发现( ...
- H5播放音频和视频
H5播放音频和视频: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- SpringBoot 集成腾讯云(对象存储、短信)
https://developer.aliyun.com/article/831473 https://blog.csdn.net/weixin_45626288/article/details/11 ...