c# Sockect 通信
1.Server
using System; using System.Collections.Generic; using System.Text; //添加Socket类 using System.Net; using System.Net.Sockets;namespace ScoketServer {class Program{static void Main(string[] args){int port = 8080;string host = "17.1.1.78";//创建终结点IPAddress ip = IPAddress.Parse(host);IPEndPoint ipe = new IPEndPoint(ip, port);//创建Socket并开始监听 Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建一个Socket对象,如果用UDP协议,则要用SocketTyype.Dgram类型的套接字s.Bind(ipe); //绑定EndPoint对象(2000端口和ip地址)s.Listen(0); //开始监听Console.WriteLine("等待客户端连接");//接受到Client连接,为此连接建立新的Socket,并接受消息Socket temp = s.Accept(); //为新建立的连接创建新的SocketConsole.WriteLine("建立连接");string recvStr = "";byte[] recvBytes = new byte[1024];int bytes;bytes = temp.Receive(recvBytes, recvBytes.Length, 0); //从客户端接受消息recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);//给Client端返回信息Console.WriteLine("server get message:{0}", recvStr); //把客户端传来的信息显示出来string sendStr = "ok!Client send message successful!";byte[] bs = Encoding.ASCII.GetBytes(sendStr);temp.Send(bs, bs.Length, 0); //返回信息给客户端 temp.Close();s.Close();Console.ReadLine();}} }
2.client
using System; using System.Collections.Generic; using System.Text; //添加Socket类 using System.Net; using System.Net.Sockets;namespace SocketClient {class Program{static void Main(string[] args){try{int port = 8080;string host = "17.1.1.78";//创建中街店EndPointIPAddress ip = IPAddress.Parse(host);IPEndPoint ipe = new IPEndPoint(ip, port); //把ip和端口转化为IPEndPoint的实例//创建Socket并连接到服务器Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建SocketConsole.WriteLine("Connecting...");c.Connect(ipe); //连接到服务器//向服务器发送信息string endStr = "Hello,this is a socket test";byte[] bs = Encoding.ASCII.GetBytes(endStr); //把字符串编码为字节Console.WriteLine("Send message");c.Send(bs, bs.Length, 0); //发送信息//接受从服务器返回的信息string recvStr = "";byte[] recvBytes = new byte[1024];int bytes;bytes = c.Receive(recvBytes, recvBytes.Length, 0); //从服务器端接收返回信息recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);Console.WriteLine("client get message:{0}", recvStr); //回显服务器的返回信息 Console.Read();//一定要记着用完Socket后要关闭 c.Close();}catch (ArgumentException e){Console.WriteLine("argumentNullException:{0}", e);}catch (SocketException e){Console.WriteLine("SocketException:{0}",e);}}} }
c# Sockect 通信相关推荐
- Android通过USB与PC通信
最近项目中有一个功能需要用到Android与PC端同步数据.查阅了相关资料后,采取了一种建立在adb基础之上的Usb通信方式:由于adb可以将Usb模拟为网卡,所以可以利用socket通信的方式实现A ...
- 安卓通过usb互相通信_Android通过USB与PC通信
最近项目中有一个功能需要用到Android与PC端同步数据.查阅了相关资料后,采取了一种建立在adb基础之上的Usb通信方式:由于adb可以将Usb模拟为网卡,所以可以利用socket通信的方式实现A ...
- RPC 笔记(05)— socket 通信(单线程服务器)
1. Python 标准库 1.1 socket 提供 RPC 服务的网络通信功能,方便用户编写 tcp/udp 相关的代码.两个不同机器的进程需要通信时,可以通过 socket 来传输数据. 客 ...
- Python 多进程笔记 — 启动进程的方式、守护进程、进程间通信、进程池、进程池之间通信、多进程生产消费模型
1 面向过程启动多进程 Python 操作进程的类都定义在 multiprocessing 模块,该模块提供了一个 Process 类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另 ...
- HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)
TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...
- python第三方库之学习pyserial库--串口通信
pyserial串口通信库 1.安装pyserial库 2.填写串口参数的注意事项 3.简单封装一下 4.碰到的bug 1.安装pyserial库 pip install pyserial versi ...
- python 网络编程之Socket通信案例消息发送与接收
背景 网络编程是python编程中的一项基本技术.本文将实现一个简单的Socket通信案例消息发送与接收 正文 在python中的socket编程的大致流程图如上所示 我们来首先编写客户端的代码: # ...
- NVIDIA空中导航SDK改造5G通信
NVIDIA空中导航SDK改造5G通信 Transforming Next-Generation Wireless with 5T for 5G and the NVIDIA Aerial SDK N ...
- 十五天精通WCF——第六天 你必须要了解的3种通信模式
十五天精通WCF--第六天 你必须要了解的3种通信模式 原文:十五天精通WCF--第六天 你必须要了解的3种通信模式 wcf已经说到第六天了,居然还没有说到这玩意有几种通信模式,惭愧惭愧,不过很简单啦 ...
最新文章
- windows下postgreSQL服务接收远程客户连接
- 最短路径算法——Dijkstra and Floyd算法
- [JAVA基础类库] Objec类
- 设计模式----2(简单工厂模式的概念,简单工厂模式的实现,简单工厂模式的优缺点)
- redis java 缓存服务器_java中对Redis的缓存进行操作
- IQ数据简介:I/Q Data
- Python编程实践之Choose
- 字体如何设计,这几点很重要
- WPF半圆形导航菜单
- win8系统安装配置python_win8下python3.4安装和环境配置图文教程
- ElasticSearch的常用查询语句
- 避免c++程序在windows7或vista下关闭后出现程序兼容性助手
- 云黑系统,浪客云黑3.0,黑名单系统
- Java九十条经验法则之第一条:用静态工厂方法代替构造器
- WireShark黑客发现之旅(7)—勒索邮件
- ShareSDK的使用
- flash中导入音乐和制作按钮
- 智能驾驶进入新周期:从「定点量产」到「做大做强」
- 在调用股票购买接口时要注意什么事项?
- Java课堂作业:手机销售系统(控制台输出)
热门文章
- 有关gcc,make,gdb的知识
- flash数字时钟_数字电路设计在嵌入式中的应用
- java求助,JAVA求助大家帮忙下
- @所有人,20 万大奖待领取!【全民找“BUG”】活动,等你!
- 神策数据受邀参加第五届中国全渠道峰会,聚焦大数据驱动线上线下融合
- leetcode 28. Implement strStr() 实现strStr()
- Android线程间通信之handler
- 打造最美HTML5 3D机房(MONO哥强势归来,第四季惊艳发布)
- [React Native] 解析JSON文件
- U-boot链接地址的详解