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 通信相关推荐

  1. Android通过USB与PC通信

    最近项目中有一个功能需要用到Android与PC端同步数据.查阅了相关资料后,采取了一种建立在adb基础之上的Usb通信方式:由于adb可以将Usb模拟为网卡,所以可以利用socket通信的方式实现A ...

  2. 安卓通过usb互相通信_Android通过USB与PC通信

    最近项目中有一个功能需要用到Android与PC端同步数据.查阅了相关资料后,采取了一种建立在adb基础之上的Usb通信方式:由于adb可以将Usb模拟为网卡,所以可以利用socket通信的方式实现A ...

  3. RPC 笔记(05)— socket 通信(单线程服务器)

    1. Python 标准库 1.1 socket 提供 RPC 服务的网络通信功能,方便用户编写 tcp/udp 相关的代码.两个不同机器的进程需要通信时,可以通过 socket 来传输数据. ​ 客 ...

  4. Python 多进程笔记 — 启动进程的方式、守护进程、进程间通信、进程池、进程池之间通信、多进程生产消费模型

    1 面向过程启动多进程 Python 操作进程的类都定义在 multiprocessing 模块,该模块提供了一个 Process 类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另 ...

  5. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  6. python第三方库之学习pyserial库--串口通信

    pyserial串口通信库 1.安装pyserial库 2.填写串口参数的注意事项 3.简单封装一下 4.碰到的bug 1.安装pyserial库 pip install pyserial versi ...

  7. python 网络编程之Socket通信案例消息发送与接收

    背景 网络编程是python编程中的一项基本技术.本文将实现一个简单的Socket通信案例消息发送与接收 正文 在python中的socket编程的大致流程图如上所示 我们来首先编写客户端的代码: # ...

  8. NVIDIA空中导航SDK改造5G通信

    NVIDIA空中导航SDK改造5G通信 Transforming Next-Generation Wireless with 5T for 5G and the NVIDIA Aerial SDK N ...

  9. 十五天精通WCF——第六天 你必须要了解的3种通信模式

    十五天精通WCF--第六天 你必须要了解的3种通信模式 原文:十五天精通WCF--第六天 你必须要了解的3种通信模式 wcf已经说到第六天了,居然还没有说到这玩意有几种通信模式,惭愧惭愧,不过很简单啦 ...

最新文章

  1. windows下postgreSQL服务接收远程客户连接
  2. 最短路径算法——Dijkstra and Floyd算法
  3. [JAVA基础类库] Objec类
  4. 设计模式----2(简单工厂模式的概念,简单工厂模式的实现,简单工厂模式的优缺点)
  5. redis java 缓存服务器_java中对Redis的缓存进行操作
  6. IQ数据简介:I/Q Data
  7. Python编程实践之Choose
  8. 字体如何设计,这几点很重要
  9. WPF半圆形导航菜单
  10. win8系统安装配置python_win8下python3.4安装和环境配置图文教程
  11. ElasticSearch的常用查询语句
  12. 避免c++程序在windows7或vista下关闭后出现程序兼容性助手
  13. 云黑系统,浪客云黑3.0,黑名单系统
  14. Java九十条经验法则之第一条:用静态工厂方法代替构造器
  15. WireShark黑客发现之旅(7)—勒索邮件
  16. ShareSDK的使用
  17. flash中导入音乐和制作按钮
  18. 智能驾驶进入新周期:从「定点量产」到「做大做强」
  19. 在调用股票购买接口时要注意什么事项?
  20. Java课堂作业:手机销售系统(控制台输出)

热门文章

  1. 有关gcc,make,gdb的知识
  2. flash数字时钟_数字电路设计在嵌入式中的应用
  3. java求助,JAVA求助大家帮忙下
  4. @所有人,20 万大奖待领取!【全民找“BUG”】活动,等你!
  5. 神策数据受邀参加第五届中国全渠道峰会,聚焦大数据驱动线上线下融合
  6. leetcode 28. Implement strStr() 实现strStr()
  7. Android线程间通信之handler
  8. 打造最美HTML5 3D机房(MONO哥强势归来,第四季惊艳发布)
  9. [React Native] 解析JSON文件
  10. U-boot链接地址的详解