计算机前端是什么

计算机前端是什么,第1张

计算机前端就是创建web页面和APP(例如微信、支付宝等)前端界面呈现给使用者的过程,通过HTML、CSS、JS以及繁衍出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。相对于传统网页制作的要求更多,不仅要熟悉基本技能,还要熟悉服务器请求,熟悉一种服务器语言,例如PHP。
C/S架构与B/S架构。
1C/S架构,中文名:客户端/服务器,我们使用的软件一般都是C/S架构,例如360,QQ。C表示客户端,S表示服务器。此架构的软件客户端和服务器通信采用的是自有协议,所以相对来说比较安全。
注意:此架构不能跨平台使用。
2B/S架构,中文名:浏览器/服务,B/S架构软件通过使用浏览器访问网页的形式来使用软件,例如知乎、新浪微博。软件不需要安装,直接使用浏览器访问指定的网页即可。
可以跨平台,只要有浏览器即可。语言基础HTML、CSS、Javascript(1)HTML:是英文HyperTextMarkupLanguage的缩写。
是构成网页展示的基础,是一种很简单的可视化标识语言。(11)结构:HTML界面主要由两个部分组成,第一部分为最开始的文档类型标记,第二部分为html根标记。

这是我以前在学校的时候做的一个c/s系统里面的类似qq聊天工具
你看看。。
这是客服端的代码:
using System;
using SystemCollectionsGeneric;
using SystemComponentModel;
using SystemData;
using SystemDrawing;
using SystemLinq;
using SystemText;
using SystemWindowsForms;
using SystemThreading;
using SystemNet;
using SystemNetSockets;
namespace demo2
{
public partial class frmTouchWe : Form
{
Thread a;
//发送IP跟端口
private UdpClient udp = new UdpClient("127001",9000);
//接收端口
private UdpClient udpSend = new UdpClient(8000);
private IPEndPoint ip = new IPEndPoint(IPAddressAny,0);
public frmTouchWe()
{
InitializeComponent();
FormCheckForIllegalCrossThreadCalls = false;
}
private void frmTouchWe_Load(object sender, EventArgs e)
{ //定义线程开始
a = new Thread(new ThreadStart(Run));
aStart(); }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//客服接收信息。d出窗体
frmAnswerInfo answerInfo = new frmAnswerInfo();
answerInfoShow(); }
private void button1_Click(object sender, EventArgs e)
{
//在自己的信息栏中显示自己的信息
lsbInfoItemsAdd(txtInfoText);
//用户信息内容
string Mes = txtInfoText;
//用户信息
string mes = "用户:"+Programuserid+"("+Programusername+")"+" " + time;
//转换成字节
byte[] b = UTF8EncodingUTF8GetBytes(Mes);
byte[] bb = UTF32EncodingUTF8GetBytes(mes);
//发送信息
udpSend(bb, bbLength);
udpSend(b, bLength);
txtInfoText = "";
}
//循环接受客服发来的信息
private void Run()
{
while (true)
{
byte[] b = udpSendReceive(ref ip);
string mes = UTF8EncodingUTF8GetString(b);
lsbInfoItemsAdd(mes);
}
}
private void button2_Click(object sender, EventArgs e)
{
thisClose();
}
private void button3_Click_1(object sender, EventArgs e)
{
//清空所有项
lsbInfoItemsClear();
}
}
}
下面是服务器端的代码
using System;
using SystemCollectionsGeneric;
using SystemComponentModel;
using SystemData;
using SystemDrawing;
using SystemLinq;
using SystemText;
using SystemWindowsForms;
using SystemThreading;
using SystemNet;
using SystemNetSockets;
namespace demo2
{
public partial class frmAnswerInfo : Form
{
//定义一条线程,用来循环接收客户发来的信息
Thread a;
//定义另一条线程,用来升起窗体
Thread b;
//发送到信息的地址
private UdpClient udpSend = new UdpClient("127001",8000);
//接收端口
private UdpClient udp = new UdpClient(9000);
private IPEndPoint ip = new IPEndPoint(IPAddressAny,0);
public frmAnswerInfo()
{
InitializeComponent();
FormCheckForIllegalCrossThreadCalls = false;
}
//循环接收信息
private void Run()
{
while (true)
{
byte[] b = udpReceive(ref ip);
string mes = UTF8EncodingUTF8GetString(b);
lsbInfoItemsAdd(mes);
}
}
private void frmAnswerInfo_Load(object sender, EventArgs e)
{
//设置窗体的位置属性(窗体加载时候慢慢从右下角升上来~类似qq广告~~)
thisTop = ScreenPrimaryScreenWorkingAreaHeight;
thisLeft = ScreenPrimaryScreenWorkingAreaWidth - thisWidth;
//设置窗体的名字
a = new Thread(new ThreadStart(Run));
b = new Thread(new ThreadStart(run));
//开始线程
aStart();
bStart();
}
//用户点击谈话时显示该窗体
private void run()
{
while (true)
{
thisTop = thisTop - 10;
ThreadSleep(100);
if (ScreenPrimaryScreenWorkingAreaHeight - thisHeight >= thisTop)
{
break;
}
}
}
//发送按钮编码
private void button1_Click(object sender, EventArgs e)
{
//获取当前时间
DateTime time = DateTimeNow;
//在自己的信息栏中显示自己发出去的信息
lsbInfoItemsAdd("在线客服:"+time);
lsbInfoItemsAdd(txtInfoText);
//在客户端显示自己的信息标题
string mes = "在线客服:"+time;
//信息内容
string Mes = txtInfoText;
//发送信息标题
byte[] b = UTF8EncodingUTF8GetBytes(mes);
//发送信息内容
byte[] bb = UTF8EncodingUTF8GetBytes(Mes);
udpSendSend(b, bLength);
udpSendSend(bb,bbLength);
txtInfoText = "";
}
private void button2_Click(object sender, EventArgs e)
{
thisClose();
}
private void button3_Click(object sender, EventArgs e)
{
//清除所有项
lsbInfoItemsClear();
}
}
}
这个可以跑的。。我以前就用过的。

先要理解socket是什么?
简单的说socket是一个全双工的通信通道,
即使用TCP或者UDP通信时均可以在发送消息的同时接受消息,
它不区分是否是服务器。
根据这个概念你的问题就很好回答。
》当客户端与服务器连接后。有什么方法使服务器可以随时随地发消息给客户端?
》我现在只能。客户端发个消息给服务器。服务器才能发个消息给客户端。也就是说客户端不发消息。服务器就没法发消息给客户端。
》求大牛给个思路。当连接后。客户端与服务器双方可以随时随地通信!
使用多线程,一个维持接受逻辑,一个维持送信逻辑,即可完成同时接受及发送。
客户端及服务器端均做上述设置。
而你的做法是在一个线程中执行接受与送信,因此只能按照顺序逻辑完成接收与送信。
关键点是多线程。

C/S和P2P模式混合指的是在网络应用程序中同时使用C/S模式和P2P模式。
C/S模式,即Client/Server模式,是指客户端和服务器端之间进行通信,客户端向服务器端发送请求,服务器端响应并返回数据。
P2P模式即Peer-to-Peer模式,是指两个或多个计算机之间直接进行通信,没有中间服务器。
在这种混合模式中,程序可以在C/S模式下与服务器进行通信,同时也能在P2P模式下与其他客户端进行通信,提高网络应用程序的灵活性和可靠性。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10304323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存