0%

昨天晚上在网上查找资料,简单实现了C#开发的Socket通信,以下是具体的开发流程,我使用的是VS2017进行开发的:

一、服务器端:

1.新建一个项目,Windows控制台程序

img

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ThoughtWorks.QRCode.Codec;

namespace WeChat
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnCRC_Click(object sender, EventArgs e)
{
//创建时间
DateTime currentTime = new System.DateTime();
//取当前年月日时分秒
currentTime = System.DateTime.Now;
//取当前年
int Year = currentTime.Year;
//取当前月
int Month = currentTime.Month;
//取当前日
int Day = currentTime.Day;
if (Day < 10)
{
Day = 0 + Day;
}
//取当前时
int Hour = currentTime.Hour;
//取当前分
int Minute = currentTime.Minute;
int Minute1 = currentTime.Minute + 10;
//取当前秒
int Second = currentTime.Second;
//取当前毫秒
int Millisecond = currentTime.Millisecond;
this.txtCRC.Text = Second.ToString();
ThoughtWorksQRCode("您好欢迎使用二维码查看!");
}
private void ThoughtWorksQRCode(string strtxt)
{
try
{
Bitmap bt;
string enCodeString = strtxt;
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);
string filename = DateTime.Now.ToString("yyyymmddhhmmss");
filename = filename.Replace(" ", "");
filename = filename.Replace(":", "");
filename = filename.Replace("-", "");
filename = filename.Replace(".", "");
bt.Save(Server.MapPath("~/images/") + filename + ".jpg");
this.Image1.ImageUrl = "~/images/" + filename + ".jpg";
}
catch (Exception e)
{
throw e;
}

}

//public void GenerateQRCode(string content)
//{
// try
// {
// // _fileLog.Info("GenerateQRCode|开始生成二维码");
// if (null != content)
// {
// //初始化二维码生成工具
// var qrCodeEncoder = new QRCodeEncoder
// {
// QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
// QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M,
// QRCodeVersion = 0,
// QRCodeScale = 4
// };
// //将字符串生成二维码图片
// var image = qrCodeEncoder.Encode(content);
// var ms = new MemoryStream();
// image.Save(ms, ImageFormat.Png);
// Response.BinaryWrite(ms.GetBuffer());
// Response.End();
// }
// //_fileLog.Info("CloudCardController|GenerateQRCode|成功生成二维码");
// }
// catch (Exception ex)
// {
// //_fileLog.Error("GenerateQRCode|生成二维码出现异常,异常信息:" + ex.Message);
// }

//}
//private void CreateCode_Simple(string nr)
//{
// QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
// qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
// qrCodeEncoder.QRCodeScale = 4;
// qrCodeEncoder.QRCodeVersion = 8;
// qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
// //System.Drawing.Image image = qrCodeEncoder.Encode("4408810820 深圳-广州 小江");
// System.Drawing.Image image = qrCodeEncoder.Encode(nr);
// string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
// string filepath = Server.MapPath(@"~\Upload") + "\\" + filename;
// System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
// image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);

// fs.Close();
// image.Dispose();
// //二维码解码
// var codeDecoder = CodeDecoder(filepath);
//}

///// <summary>
///// 二维码解码
///// </summary>
///// <param name="filePath">图片路径</param>
///// <returns></returns>
//public string CodeDecoder(string filePath)
//{
// if (!System.IO.File.Exists(filePath))
// return null;
// Bitmap myBitmap = new Bitmap(Image.FromFile(filePath));
// QRCodeDecoder decoder = new QRCodeDecoder();
// string decodedString = decoder.decode(new QRCodeBitmapImage(myBitmap));
// return decodedString;
//}
}
}

转自:https://www.cnblogs.com/zoujinhua/p/10308661.html

1
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />

在网页的中增加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度

阅读全文 »

REST是设计风格而不是标准。

webapi有自己的路由。

webservice和wcf的协议都是soap协议,数据的序列化和反序列化都是soap的格式。而webapi是Json的数据传递

webapi的优点有哪些?

(1)非常适合做http的请求,前端与webapi交互特别方便

(2)webapi更轻量因为使用的json数据来传递。

(3)webapi很多时候是给前端提供数据的,因为webapi跟控制器关联的没那么紧密(若是没webapi,用mvc的模式,那么页面直接从对应的控制器获取数据),这样传递数据webapi对,手机,app,页面都可以通过同一个数据源提供数据,会比较灵活一些。(会跨域)

阅读全文 »

上一篇文章中我们写的C#生成JSON字符串,那么我们生成的字符串要干嘛呢?当然是将数据提交给服务器啦。一般用过接口来接受这个JSON。

这里我们会用到第一章中的一个 类。HttpUitls里面的Post方法。

非常简单:

1
2
3
4
5
6
7
 public static string Post(string Url, string Data, string Referer);

//参数说明:URL提交的接口地址

//Data:就是要提交的JSON字符串

//Referer :文件头 ,给个空字符串就可以。

OK,来到这里,C#操作JSON的日常使用就已经结束了,是不是非常简单!

转自:https://www.cnblogs.com/zoujinhua/p/10330084.html

上一篇文章中我们讲解了序列号JSON数据,这篇文章我们来讲解一下反序列化JSON数据,也就是将实体类转化成JSON数据,其实也非常简单,说白了,就是将实体初始化。

一样,我们跟着前两篇的代码,在添加 一个按钮,在按钮事件里面写代码。先看效果吧。

img

阅读全文 »

在上一篇文章中,我们讲解了如何通过API接口获取返回的JSON字符串,那么,这篇文章我们来讲解拿到了返回的JSON字符串后,我们要如何取到里面我们需要的数据呢?这操作叫JSON的反序列化操作。接下里我们将一一解释。

先看效果:这个大家最喜欢。

img

阅读全文 »

在实际开发中,我们经常会使用到API,所谓API一般就是一个地址,我们称之为接口。然后我们通过用C#对这地址发送请求,请求后,服务器就会给我们返回数据,一般是XML或者JSON,这里我们主要讲述的是JSON。

为了演示,我们这里准备了一个接口,这是一个查询物流的接口。(读者读到这篇文章的时候,接口可能有效,也可能失效,因为接口是网上找的,不是笔者自己写的,但是原理是一样的。)

阅读全文 »

C# winform写入和读取TXT文件

1
2
3
4
5
6
7
8
9
10
11
string str;
str=this.textBox1.Text;
StreamWriter sw = new StreamWriter(Application.StartupPath +"\\txtwriter.txt", false);
sw.WriteLine(str);
sw.Close();//写入

string str;
StreamReader sr = new StreamReader(Application.StartupPath +"\\txtreader.txt", false);
str = sr.ReadLine().ToString();
sr.Close();
this.textBox1.Text = str;///读取

转自:https://blog.csdn.net/lzid2008/article/details/53672244