c# socknet编程

c#服务端

using System.Text;
using System.Net.Sockets;
using System.Net;class proj
{internal static void Main(string[] args){string ip = "";int port = 5000;byte[] buffer=new byte[1024*1024*2];Socket socket =null;//1 实例化套接字(ipv4寻址协议,流式协议,Tcp协议)socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个ip对象IPAddress address=IPAddress.Parse(ip);//创建一个网络端口IPEndPoint endPoint = new IPEndPoint(address, port);Console.WriteLine("endPoint: {0} ,typeof(endpoint):{1}", endPoint,endPoint.GetType);//绑定套接字socket.Bind(endPoint);//设置最大连接数socket.Listen(int.MaxValue);//Console.WriteLine("监听{0}消息成功", socket.LocalEndPoint.ToString());//阻塞,等待客户端连接Socket clinetSocket=socket.Accept();Console.WriteLine("客户端信息{0}",clinetSocket.LocalEndPoint.ToString());string mess=Console.ReadLine();//发送消息clinetSocket.Send(Encoding.UTF8.GetBytes(mess));//接收消息clinetSocket.Receive(buffer);Console.WriteLine(Encoding.UTF8.GetString(buffer));}
}

python 客户端

import socketa="你好"
b=bytes(a,encoding='utf-8')
print(b)
c=str(b,encoding='utf-8')
print(c)b=a.encode('utf-8')
print(b)
c=b.decode('utf-8')
print(c)cs=socket.socket()
# 连接服务端
h=cs.connect(("192.168.42.191",5000))
print('hh',h)
# 接受消息
data=cs.recv(1024)
print(type(data))
print(data)
print(data.decode('utf-8'))#发送消息
mess=input("请输入你想发的消息")
cs.sendall(mess.encode('utf-8'))

c# 客户端

using System.Text;
using System.Net.Sockets;
using System.Net;class proj
{internal static void Main(string[] args){string ip = "127.0.0.1";int port = 5000;byte[] buffer=new byte[1024*1024*2];Socket socket =null;//1 实例化套接字(ipv4寻址协议,流式协议,Tcp协议)socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个ip对象IPAddress address=IPAddress.Parse(ip);//创建一个网络端口IPEndPoint endPoint = new IPEndPoint(address, port);Console.WriteLine("endPoint: {0} ,typeof(endpoint):{1}", endPoint,endPoint.GetType);// 建立连接socket.Connect(endPoint);Console.WriteLine("连接服务器成功");//接收数据int lenth = socket.Receive(buffer);Console.WriteLine("接受服务器{0},消息{1}", socket.RemoteEndPoint.ToString(), Encoding.UTF8.GetString(buffer));//发送数据socket.Send(Encoding.UTF8.GetBytes("我是c#"));}
}

python 服务端

import socket
# 服务端应用ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ss.bind(("0.0.0.0", 5000))  # 服务器绑定ip
ss.listen(5)  # 开始监听
tcp1, add = ss.accept()  # 阻塞进程,等待客户端连接
print('tcp1', tcp1)
print('客户端连接成功,客户端IP地址', add)tcp1.sendall("我是python".encode('utf-8'))
data = tcp1.recv(102400)  # 接受消息
data = str(data, encoding='utf-8')
print('接受的消息是:',data)

参考:
c# socket编程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go 语言学习:了解 const 关键字及常量声明

如果一个变量应该有一个固定的、不能改变的值,你可以使用const关键字。 const关键字将变量声明为"常量",这意味着它是不可改变和只读的。 语法 const CONSTNAME type value 声明常量 声明常量的示例: package main import (…

【MATLAB基础绘图第17棒】绘制玫瑰图

MATLAB绘制玫瑰图 玫瑰图(Nightingale Rose Chart)风玫瑰图(WindRose)准备工作:WindRose工具包下载案例案例1:基础绘图 参考 玫瑰图(Nightingale Rose Chart) 玫瑰图(Ni…

Vue2系列 — $listeners 多层嵌套组件通信

涉及爷爷组件和孙组件通信,孙组件可以 emit 数据到父组件,父组件再 emit 数据到爷爷组件,实现组件通信,但是比较繁琐 使用 $listeners 可以实现孙组件的数据直接传递到爷组件中去 官网原文:https://v2.cn.vuejs.org/…

Java_异常详解

前言 异常是什么,异常如何抛出,如何抛出自定义异常,异常处理主要的五个关键字:throw,try,catch,finally,throws ,异常的处理流程 异常是什么 在Java中,将程序执行过程中发生的不正常行为称为异常。比如之前写代码时经常遇到的: 1. 算数异…

app小程序定制开发的优势|企业软件网站建设

app小程序定制开发的优势|企业软件网站建设 小程序定制开发是目前互联网行业中备受关注的领域之一。随着智能手机的普及和移动互联网的迅猛发展,越来越多的企业和个人开始重视小程序的潜力,并积极寻求定制开发的服务。那么,为什么小程序定制开…

php字符串处理函数的使用

php字符串处理函数的使用 trim() trim()函数的功能用于去除字符串首尾的空白字符(包括空格、制表符、换行符等&#xff09;。它可以用于清理用户输入的数据或去除字符串中的多余空格。 <?php $char" holle world! ";echo trim($char) ?>str_repl…

【LeetCode】104. 二叉树的最大深度

104. 二叉树的最大深度 难度&#xff1a;简单 题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 …

JVM--Java虚拟机

0. java代码的执行过程 了解Java虚拟机&#xff08;JVM&#xff09;首先需要了解一下一段Java代码的具体执行过程。 Java代码的具体执行过程如下&#xff1a; 执行 javac 命令编译源代码为字节码执行 java 命令&#xff0c;二进制字节码通过解释器翻译为机器码 创建 JVM&…

通过css设置元素隐藏和显示

背景&#xff1a;鼠标悬浮时显示删除&#xff0c;放开后显示组件名 解决&#xff1a;通过display:none和display:block显示和隐藏元素&#xff1b; 使用 div p选择器选择当前div的下一个紧跟的p元素 <div v-if"!preview" class"name">{{propertyDa…

(数据库管理系统)DBMS与(数据库系统)DBS的区别

数据库管理系统&#xff08;DBMS&#xff0c;Database Management System&#xff09;和数据库系统&#xff08;DBS&#xff0c;Database System&#xff09;是两个相关但不同的概念。 DBS是一个更广泛的概念&#xff0c;指的是计算机系统引入数据库后的系统&#xff0c;包括数…

Spring接入Metric+Graphite+Grafana搭建监控系统

环境搭建 Metric 主要是记录操作记录&#xff0c;把数据传给Graphite&#xff0c;这个只需要引入依赖就可以了 日志收集系统&#xff0c;可以支持很多的监控系统一般在Spring项目中用其收集数据&#xff0c;可以发送到Graphite等监控系统中一般使用Merter和Timer分别记录成功…

C# 图解教程 第5版 —— 第15章 事件

文章目录 15.1 发布者和订阅者15.2 源代码组件概览15.3 声明事件15.4 订阅事件15.5 触发事件15.6 标准事件的用法15.6.1 通过扩展 EventArgs 来传递数据15.6.2 移除事件处理程序 15.7 事件访问器 15.1 发布者和订阅者 ​ 发布者 / 订阅者模式&#xff1a;发布者定义了一系列事…

学习

目录 ICT ICT IT Information Technology 信息技术 ICT Information and Communication Technology 信息和通信技术 ICT业务 #mermaid-svg-gLZ3OHbHDww8Ac9H {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-gLZ3…

Android App 启动状态有几种?

startup state Android 启动状态&#xff08;startup state&#xff09;1.1、冷启动&#xff08;Cold Start&#xff09;1.2、温启动&#xff08;Warm Start&#xff09;1.3、热启动&#xff08;Hot Start&#xff09;1.4、后台启动&#xff08;Background Start&#xff09; 优…

Lifecyle的原理

1、Lifecycle是典型的观察者模式&#xff0c;被观察者的继承关系如上图所示。 2、LifeCycleRegistry是Lifecycle的子类。 3、观察者通过LifeCycle对象的addObserver注册监听生命周期的变化&#xff0c;通过removeObserver移除监听生命周期的变化。 4、Activity或Fragment的生命…

【MATLAB源码-第84期】基于matlab的802.11a标准的OFDM系统误码仿真对比QPSK,16QAM。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 基于802.11a标准的OFDM&#xff08;正交频分复用&#xff09;系统是一种高效的无线通信技术&#xff0c;特点如下&#xff1a; 频带与信道&#xff1a; 802.11a工作在5 GHz频段&#xff0c;这个频段相对于2.4 GHz&#xff08…

目标检测 详解SSD原理,数据处理与复现

原理详解 前言 今天我们要读的这篇VGGNet&#xff08;《Very Deep Convolutional Networks For Large-Scale Image Recognition》&#xff09;&#xff0c;就是在AlexNet基础上对深度对网络性能的影响做了进一步的探索。它是ImageNet 2014年亚军&#xff0c;相比于AlexNet&am…

ueditor整合到thinkPHP里

<?phpnamespace app\ueditor\controller;use think\Controller;class Ueditor extends Controller {//首页public function upload(){//header(Access-Control-Allow-Origin: http://www.baidu.com); //设置http://www.baidu.com允许跨域访问//header(Access-Control-Allow…

Motion Plan之搜索算法笔记

背景&#xff1a; 16-18年做过一阵子无人驾驶&#xff0c;那时候痴迷于移动规划&#xff1b;然而当时可学习的资料非常少&#xff0c;网上的论文也不算太多。基本就是Darpa的几十篇无人越野几次比赛的文章&#xff0c;基本没有成系统的文章和代码讲解实现。所以对移动规划的认…

Docker 安装 Oracle Database 23c

目录 访问 Oracle 官方网站 使用 Docker 运行 Oracle Database 23c 免费容器映像 创建并运行 Oracle Database 23c 容器 查看已下载的镜像 列出正在运行的容器 进入容器 sqlplus 命令 访问 Oracle 官方网站 Database Software Downloads | Oracle 中国 使用 Docker 运行…