No video

How To Create a Chat App and Server Tutorial WPF C#

  Рет қаралды 66,065

Payload

Payload

Күн бұрын

Here is a tutorial showing you how to create a chat app and a chat server using WPF and C# which can also be used to create a game server in order to make a multiplayer game using C# WPF but the game can be made in Unity
this networking tutorial will show you how to create network packets, using TCP, which includes the TCPListener and TCPClient in order to make a chat app using C# programming and the WPF Framework, reading and writing binary data
using a network stream as well as a memorystream to create the network buffer, this tutorial includes events in order to make it slightly event driven. There is a video on my channel which features a modern professional chat app design
which you can follow and add to this project.
Discord: / discord
Patreon: / payloads
Chat App Professional Modern Design: • WPF C# Professional Mo...

Пікірлер: 158
@kay23456
@kay23456 2 жыл бұрын
This man has a video on how to make a discord ui as well as how to create a chat app.... he essentially just gave the power of remaking discord to everyone
@_buffer
@_buffer 2 жыл бұрын
You know it! :-)
@YidingHe
@YidingHe 2 жыл бұрын
As an experienced Java developer, I love these video tutorials that can take me into new languages quickly and efficiently.
@FiveNineO
@FiveNineO 2 жыл бұрын
The programming gods have blessed us brethren!
@energy-tunes
@energy-tunes 29 күн бұрын
amazing, modern c# networking content seems to be lacking, this is a nice breath of fresh air
@_buffer
@_buffer 17 күн бұрын
I'm glad you found it useful! :-)
@Worthical
@Worthical 2 жыл бұрын
I swear my computer listens to my conversations and recommends this video and I aint mad at all!
@_buffer
@_buffer 2 жыл бұрын
Hahaha heck yeah! :D
@Frusko
@Frusko 2 жыл бұрын
I absolutely love these videos. Please keep doing stuff like this, just watching you do stuff like this is helping me pick up better habits :D
@_buffer
@_buffer 2 жыл бұрын
That makes me so happy to hear! And More videos are coming your way! :-)
@user-ib1kw2ip7c
@user-ib1kw2ip7c Жыл бұрын
Thank you so much. Your video helped a lot with my course project. I wouldn't have figured it out without you.
@_buffer
@_buffer Жыл бұрын
I'm so glad you found this useful!
@DemHP.
@DemHP. Жыл бұрын
For everyone who doesn't wanna write out the code at 6:25 here you go: namespace ChatClient.MVM.Core { class RelayCommand : ICommand { private Action execute; private Func canExecute; public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested -= value; } } public RelayCommand(Action execute, Func canExecute = null) { this.execute = execute; this.canExecute = canExecute; } public bool CanExecute(object parameter) { return this.canExecute == null || this.canExecute(parameter); } public void Execute(object parameter) { this.execute(parameter); } } }
@kaanderin8382
@kaanderin8382 Жыл бұрын
i have 3 errors in this code idk why i did exactly same with video my errors are those ICommand CommandManager CommandManager can you help me
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
@@kaanderin8382 Sounds like you need to add the namespace ' using System.Windows.Input; ' at the top. All 3 of those errors are in that namespace.
@kaanderin8382
@kaanderin8382 Жыл бұрын
@@drewcumpton1232 thank you man
@hubertromario4874
@hubertromario4874 Жыл бұрын
Where is the Icommadns interface file?
@rfatisler6500
@rfatisler6500 Жыл бұрын
@@hubertromario4874 using System.Windows.Input
@oxygenfn5224
@oxygenfn5224 Жыл бұрын
You saved my programming class test, thank you so much, cant wait to see more of your videos I also learned so many new things :)
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
Great Vid, very instructional. One thing I would like to add, in the Packet Builder under the Write Message module, when using VS 17.4, you have to add 1 line to it, where you actually create a buffer and get a buffer length to get it to work properly. Well, at least for me this was the case, it may be a .Net version discrepancy also since 5.0 is no longer supported any more. public void WriteMessage(string msg) { byte[] buff = BitConverter.GetBytes(msg.Length); _ms.Write(buff, 0, buff.Length);
@barryjohnson2756
@barryjohnson2756 2 жыл бұрын
Please continue to make videos like witch you create small wpf apps with their cool design. I hope you make a wpf app with database like SQlite and made a customer like app where you add/modify/delete/filter into database.That will be very helpful for me and a lot of people as well.
@_buffer
@_buffer 2 жыл бұрын
More on the way! :-)
@ErenCode
@ErenCode 2 жыл бұрын
Better than my lectures! xD
@_buffer
@_buffer 2 жыл бұрын
xD
@boost5207
@boost5207 2 жыл бұрын
This is amazing man. Thank you :) Definetily going to use this in my course project :)
@_buffer
@_buffer 2 жыл бұрын
That's awesome! :-)
@musclewii4641
@musclewii4641 Жыл бұрын
Which course did you do
@boost5207
@boost5207 Жыл бұрын
@@musclewii4641 in my uni year 1
@musclewii4641
@musclewii4641 Жыл бұрын
Ok
@musclewii4641
@musclewii4641 Жыл бұрын
Which exam board if you don’t mind me asking
@AkarumeiAkashi
@AkarumeiAkashi Жыл бұрын
1) It`s literally magnificent! Thank you so much, keep making such videos plz! 2) How did you set-up the color theme in your visual studio, look`s great! 3) Can this chat communicate over the Internet (computers are in different networks)? Thanks for video, one more time!
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
It should be able to, 1 person can have the server, just make sure it uses your outside IP address, and unused port. Everyone else would need the client, and to have the correct IP address and port number to connect properly. And if the server is on a home network, you will need to make sure port forwarding for the selected port is forwarding to the correct internal IP address.
@ramzykaram296
@ramzykaram296 Жыл бұрын
This is one of the greatest tutorials ever, as a python developer that was the best tutorial on C#, sockets, and MVVC
@Cognitionz
@Cognitionz 2 жыл бұрын
Brilliant ^-^ Would love to see how to make a custom "server" for a group of people to join.
@dra4hos757
@dra4hos757 2 жыл бұрын
the best one bro thanks a lot
@_buffer
@_buffer 2 жыл бұрын
You're most welcome :-)
@DangDucCoder
@DangDucCoder 9 ай бұрын
How to display multiple chat windows? My code is the same as in the video but it only displays 1 mainwindow window? Please help me answer. Please. Thanks
@DarkCloud0000
@DarkCloud0000 2 жыл бұрын
I love your videos they are nice ideas to work on👌🏻💙
@_buffer
@_buffer 2 жыл бұрын
Thank you! :-)
@all-dj
@all-dj 2 жыл бұрын
Senpai noticed me
@_buffer
@_buffer 2 жыл бұрын
Thai student has been noticed!
@farrightcentrist7565
@farrightcentrist7565 2 жыл бұрын
Thanks for the great tutorial mate☺️
@alisaeidalsheikh6451
@alisaeidalsheikh6451 2 жыл бұрын
thats so cool 😎 Sir don’t you plan make full tutorial for C# form Beginning to advanced 🙏
@Foxyzier
@Foxyzier 2 жыл бұрын
Maybe a follow up video with sending something like a message object with attachments, and to cache them on the client with the message history?
@_buffer
@_buffer 2 жыл бұрын
Good idea! :-)
@HighSkillxD
@HighSkillxD 2 жыл бұрын
Hello, I have a problem at 19:25. MemoryStream.Write need 3 parameter (byte[] buffer, int offset, int count). But in the video you only pass one parameter. Is there a solution for this?
@Shin_v2
@Shin_v2 2 жыл бұрын
Make sure that you are using .NET 5 or 6 (Core) and not .NET 4.X Framework.
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
If you are using .NET 4.x framework, you can do the following: public void WriteMessage(string msg) { byte[] buff = BitConverter.GetBytes(msg.Length); _ms.Write(buff, 0, buff.Length);
@Hadouken77
@Hadouken77 2 жыл бұрын
Hello, how did you create two instances of the MainWindow at around 38:25?
@_buffer
@_buffer 2 жыл бұрын
Good question! I opened up the bin folder and started the .exe from there :-)
@user-ph9zp3fs5r
@user-ph9zp3fs5r 2 жыл бұрын
in visual stidio you can rightclick a project and click debug then click start new instance and it will put another instance in debug mode instead if just openning an exe
@user-ej7zu4oy5d
@user-ej7zu4oy5d 6 ай бұрын
terrific!🥰
@_buffer
@_buffer 5 ай бұрын
Thank you! :-)
@ousstechfr5107
@ousstechfr5107 2 жыл бұрын
Great work, just a question, why you didn't use signalR ( or for learning purpose ) ?
@_buffer
@_buffer 2 жыл бұрын
Good question! Overly complicated for creating something so simple, as well as the fact that it just adds a bunch of unecessary abstraction while at the same time limiting the development experience, the only time I would actually use SignalR would be if I wanted to live update something in a web application :-)
@ousstechfr5107
@ousstechfr5107 2 жыл бұрын
​@@_buffer you got a point, even if i disagree
@_buffer
@_buffer 2 жыл бұрын
@@ousstechfr5107 To each their own, whatever floats your boat and works for the project! :-)
@MoviesChannelHdmovies4523
@MoviesChannelHdmovies4523 3 ай бұрын
How to display the multiple windows? Pls teach me i need this program 🙏🏻
@_buffer
@_buffer 2 ай бұрын
Feelf ree to join the Discord and we can discuss it further :-)
@tacqz
@tacqz 2 жыл бұрын
Could you explain to me what the methods of the RelayCommand do? Just to understand it instead of just copying it?
@AshishPandey-zo6wd
@AshishPandey-zo6wd 5 ай бұрын
its kindda boiler code , so you have to mention it for the xaml and code to interact properly.
@theochasid8996
@theochasid8996 2 жыл бұрын
Thank you so much
@_buffer
@_buffer 2 жыл бұрын
You're most welcome!
@wearetheroyalsgames1464
@wearetheroyalsgames1464 Жыл бұрын
Great video thanks, this will really help with learning C# ! p.s. at 31.06 with i got a error CS0052: public PacketReader PacketReader; i fixed it by making the: public class Server to an internal class server I don't know if anyone else got this problem or im just stupid, but if anyone got troubles with it you can try this.
@kaiserdrache7675
@kaiserdrache7675 Жыл бұрын
As of 27:00 the username can only be 4 characters in length, otherwise the server is forcfully shut down. I hope you fix this further in the video.
@nguyenhuuhanhlam
@nguyenhuuhanhlam 8 ай бұрын
small bug at WriteMessage func in PacketBuilder class, ms.Write(Encoding.ASCII.GetBytes(msg), 0, msg.Length); (not buff.Length)
@wanderingtf2314
@wanderingtf2314 2 жыл бұрын
What were the usings for the RelayCommand class? You didn't show them in the video.
@pedramkavian
@pedramkavian 7 ай бұрын
Maybe it's too late to question, but it seems to be a very simple text message app. What do you do when client wants to send different kinds of messages. Let's say he's sending a video to server. It's going to take a while until all bytes are sent to server and while sending the video he's going to send a text message as well. So, how your server is going to recognize what messages it's reading? Because it was busy reading the video data. Or maybe you must use another TcpClient for such scenarios?
@_buffer
@_buffer 7 ай бұрын
Good question! And compression the video is always a good idea, and another possibility is to create a thread per client and have ti run all of it's own work.
@swathy6819
@swathy6819 2 жыл бұрын
maybe a video on creating an animated wpf application?
@_buffer
@_buffer 2 жыл бұрын
That's actually on my list of video ideas! :D
@wargalokal9760
@wargalokal9760 10 ай бұрын
Cool video 🙌
@yoyteibe8720
@yoyteibe8720 2 жыл бұрын
Hey, great video overall but how do you not get errors for ICommand and CommandManager?
@dhruvakikkeri6217
@dhruvakikkeri6217 2 жыл бұрын
I got those errors too
@Xsnipe
@Xsnipe 2 жыл бұрын
add "using System.Windows.Input;" to the top
@ayyrax4154
@ayyrax4154 Жыл бұрын
@@Xsnipe u jus saved me bruv thank you
@mohanadkiswany9501
@mohanadkiswany9501 Жыл бұрын
how can we make the clients are able to send a private message, i.e. they are able to select one of the users in the chat room in some way and only the designated user will receive the message?
@ajyoldhamala
@ajyoldhamala 6 ай бұрын
How are you creating multiple instances of the running project?
@_buffer
@_buffer 5 ай бұрын
Good question! You could either set up the project to debug that way, or head into the bin folder and run another instance that way by running the executable. :-)
@joshfraser3991
@joshfraser3991 2 жыл бұрын
Great videos!
@_buffer
@_buffer 2 жыл бұрын
Thank you so much! :-)
@ousspero
@ousspero 2 жыл бұрын
Nice job
@_buffer
@_buffer 2 жыл бұрын
Thank you! :-)
@HSS-pq6pi
@HSS-pq6pi Жыл бұрын
Hello I enjoyed your wonderful lecture! But how do I connect this chat app on another computer?
@TheWasian
@TheWasian 2 жыл бұрын
Hey so are you able to combine the UI video with this one?
@julie2586
@julie2586 2 жыл бұрын
Hey, is there a way for two computers on the same wifi to connect to the same server? I tried to change the IP address to my own but that doesn't work.
@_buffer
@_buffer 2 жыл бұрын
Should work just fine, feel free to hop on the Discord server and send me a message and I'll happily look into it! :-)
@imrxzey
@imrxzey 2 жыл бұрын
did you find out, cause i cant either
@sparrowin6570
@sparrowin6570 5 ай бұрын
Me wondering were did he gets an second Client
@venom_ftw9316
@venom_ftw9316 Жыл бұрын
Hi, thank you so much for this tutorial it has really helped me. However, I have a bug I cannot seem to fix. Whenever I send a packet, three characters of the string are omitted. My packet Reader and packet Builder classes are exactly the same as yours, as is most of the code I am using The issue gets solved when I just add three to the message length but I want a more solid solution. Thank you
@_buffer
@_buffer Жыл бұрын
Hi! I'm glad you found it useful, it would be much easier to assist you on Discord :-)
@venom_ftw9316
@venom_ftw9316 Жыл бұрын
@@_buffer thank you for responding, I found out that the issue was because I called the wrong function 😂😂
@michalligezka5439
@michalligezka5439 Жыл бұрын
I finished writing out all of the code as in the video, everything works except for the messaging - it doesn't get sent through to the console or the program
@ninjamateifort
@ninjamateifort 2 жыл бұрын
nice
@ninjamateifort
@ninjamateifort 2 жыл бұрын
also second
@_buffer
@_buffer 2 жыл бұрын
Thank you! :-)
@m3xpl4y
@m3xpl4y 2 жыл бұрын
AWESOME
@_buffer
@_buffer 2 жыл бұрын
You! :-)
@sharadranpara5449
@sharadranpara5449 2 жыл бұрын
Hi. Firstly. Thank you for the awesome tutorial. I love it!! I have a question. So we are doing this as a group project and when we try to connect together but we cannot chat or the server does not display the user joined. We are using different machines. Please tell me how we can solve that issue. Thanks
@Beste.TwitchClips
@Beste.TwitchClips 2 жыл бұрын
you need to be in the same network and you also need to change the host address to the machine that host the application
@krasus7903
@krasus7903 2 жыл бұрын
bro i love you
@_buffer
@_buffer 2 жыл бұрын
😌
@WelshGuitarDude
@WelshGuitarDude Жыл бұрын
Would be nice to know what this ICommand interface is all about the code is some what confusing.
@qee5339
@qee5339 Жыл бұрын
i'm just stuck in that moment 8:05 if in video it at least showed error, in my situation it looks like it's not working at all because i have no error, no "connected" text (i decided to follow video a bit further cause i thought maybe program is working but it's not) it seems like a binding is not working, do i have to maybe install something on my visual or something else i simply have no clue how to make it work correctly
@Lak1z
@Lak1z Жыл бұрын
This tutorial is very great! But I'm stuck on a 21:00 part... I receive an error "There is no argument given that corresponds to the required formal parameter 'offset' of 'MemoryStream.Write(byte[], int, int)" Did everything as in the tutorial but still getting this message.... It is in PacketBuilder on ChatClient it shows me an error on : _ms.Write(BitConverter.GetBytes(msgLength)); _ms.Write(Encoding.ASCII.GetBytes(msg)); on "Write" sentence.. Could you help me please why do I receive this error?
@lazar3517
@lazar3517 Жыл бұрын
I have the same problem. Did you fix it?
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
I should have looked at this sooner, I figured it out and posted it in my comment above, but I will put it here again. Great Vid, very instructional. One thing I would like to add, in the Packet Builder under the Write Message module, when using VS 17.4, you have to add 1 line to it, where you actually create a buffer and get a buffer length to get it to work properly. Well, at least for me this was the case, it may be a .Net version discrepancy also since 5.0 is no longer supported any more. public void WriteMessage(string msg) { byte[] buff = BitConverter.GetBytes(msg.Length); _ms.Write(buff, 0, buff.Length);
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
@@lazar3517 See response above, hope this helps.
@VSLComputers
@VSLComputers 2 жыл бұрын
How do you create a new project at all, much less a WPF app, in VS Code. I don't see these options.
@_buffer
@_buffer 2 жыл бұрын
Good question, you would have to use the CLI. I would highly recommend Visual Studio and not VS Code. :-)
@VSLComputers
@VSLComputers 2 жыл бұрын
@@_buffer Ah... I thought you were using VS Code. Thanks.
@GameShorts484
@GameShorts484 Жыл бұрын
This is not a messaging app. you can't use it without in your local network. or you can type there a regular computer ip address
@_buffer
@_buffer Жыл бұрын
You need to portforward the server and change the IP that the client connects to, it needs to connect to the server IP.
@GhS_Ben
@GhS_Ben 2 жыл бұрын
Does is also work if i want to use ipv6?
@renukapriyadarshani2368
@renukapriyadarshani2368 2 жыл бұрын
Can you please tell me how did you open both two chat interfaces at one time in 27.47
@_buffer
@_buffer 2 жыл бұрын
Go into the bin folder, right click the solution > open folder in file explorer, and then it's in the bin folder
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
@@_buffer Or you can right click on the ChatClient > debug > Start New Instance this will start another client
@ascent3487
@ascent3487 2 жыл бұрын
can you teach how to make a log in page and connect the login page to the modern UI video you made
@user-ph9zp3fs5r
@user-ph9zp3fs5r 2 жыл бұрын
two methods ahed. if you create another window you can do new window().show() ; and it will create another window non blocking way and then you can do this.close(); and it will shut down the current window. another option is to set both views as user control and bind it to content control and change it in code. change will happend after validation in code and if you ise hosting you may even inject iy as a navigation service
@saadhasnat3730
@saadhasnat3730 Жыл бұрын
I am getting many errors in "RelayCommand" class, also in chatserver on "_listener". Did anyonle else face the same problem?
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
I did at first, but found I was missing the namespaces for them, the RelayCommand class needs to have ' using System.Windows.Input; ' namespace, and then the _listener needs to have the ' using System.Net.Sockets; ' namespace. Start there, and see if it helps you progress with the program.
@fai2834
@fai2834 2 жыл бұрын
I want the communication in UDP ,Is it easy to modify this to UDP?
@kumatoons5508
@kumatoons5508 2 жыл бұрын
can you add more to that modern chat app you made 4 months ago
@willsouza3048
@willsouza3048 2 жыл бұрын
What is this visual studio theme and how do i set this up?
@hasanozan2393
@hasanozan2393 Жыл бұрын
I have error ; System.Windows.Markup.XamlParseException "Adding a value to a collection of type 'System.Windows.Controls.ItemCollection' returned an exception.' Line number '35' and line position '18'.' Inner Exception InvalidOperationException: The operation is not valid when using ItemsSource. use ItemsControl.ItemsSource instead to access and modify items. Can you help please.
@enterprisemusicoffical
@enterprisemusicoffical 2 жыл бұрын
When iam copying the code from PacketBuilder like in 27:06 it shows an error and _ms.Write is red marked please help me i tried everything
@kevincuppett5341
@kevincuppett5341 2 жыл бұрын
This is probably because you are using .NET Framework instead of .NET core. in .NET framework .Write() has more parameters than in Core.
@marslmaoo
@marslmaoo 2 жыл бұрын
@@kevincuppett5341 Do you know how to fix it and if so could you please tell me?
@kevincuppett5341
@kevincuppett5341 2 жыл бұрын
@@marslmaoo It would involve switching from the framework to .net core. I just remade the project from scratch. I can imagine there is a way to switch though.
@marslmaoo
@marslmaoo 2 жыл бұрын
@@kevincuppett5341 ok thanks
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
@@marslmaoo If you are using .NET 4.x framework, you can do the following: public void WriteMessage(string msg) { byte[] buff = BitConverter.GetBytes(msg.Length); _ms.Write(buff, 0, buff.Length);
@journalinspo
@journalinspo Жыл бұрын
Can i use this code to make a chat app in winforms?
@rojetfacey5562
@rojetfacey5562 2 жыл бұрын
Hey I want some help I am currently stuck at 20mins in this video. I tried recreation this wpf but im have a problem with the WriteString function. Error code CS7036
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
Not sure if anyone replied to you, but if they haven't, this is what I found. If you are using .NET 4.x framework, you can do the following: public void WriteMessage(string msg) { byte[] buff = BitConverter.GetBytes(msg.Length); _ms.Write(buff, 0, buff.Length);
@exec1337
@exec1337 2 жыл бұрын
you god?
@_buffer
@_buffer 2 жыл бұрын
I am not :relieved:
@luccck100
@luccck100 3 ай бұрын
Repository please?
@_buffer
@_buffer 2 ай бұрын
It's available on Patreon :-)
@TECHN0HACKER
@TECHN0HACKER Жыл бұрын
Does this work over the internet?
@_buffer
@_buffer Жыл бұрын
Good question! Yes!
@WelshGuitarDude
@WelshGuitarDude Жыл бұрын
I get: The name "MainViewModel" does not exist in the namespace "clr-namespace:ChatClient.MVVM.ViewModel" what did i get wrong here?
@drewcumpton1232
@drewcumpton1232 Жыл бұрын
I was having this issue too, I had to exit Visual Studio, and then open the project up again, and then build it.
@EnchikO
@EnchikO 2 жыл бұрын
Hello, what happened to your multiplayer game ?
@noyxz
@noyxz 2 жыл бұрын
Is that only local?
@_buffer
@_buffer 2 жыл бұрын
No :-)
@noyxz
@noyxz 2 жыл бұрын
@@_buffer alright thanks so much!
@filipkaczmarek5697
@filipkaczmarek5697 Жыл бұрын
Well, i know i need to learn this because deadline is looming but i am on 15th minute and my brain starts lagging
@filipkaczmarek5697
@filipkaczmarek5697 Жыл бұрын
bruh, it's hard
@marcelosilva6250
@marcelosilva6250 2 жыл бұрын
source code???
@_buffer
@_buffer 2 жыл бұрын
On my Patreon in the description :-)
@user_mmm
@user_mmm 2 жыл бұрын
@@_buffer but can this source code could be free?
@_buffer
@_buffer 2 жыл бұрын
@@user_mmm No, just like everyone else you need to get it from Patreon.
@user_mmm
@user_mmm 2 жыл бұрын
@@_buffer wheres grid in visual studio 2022?
WPF C# Professional Modern UI Music App Tutorial
26:58
Payload
Рет қаралды 23 М.
Is LEARNING WPF still WORTH it in 2023?
10:59
tutorialsEU
Рет қаралды 47 М.
Мы сделали гигантские сухарики!  #большаяеда
00:44
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 5 МЛН
Learning C# In A Week... Otherwise I Fail University
9:04
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 334 М.
WPF C# Professional Modern Flat UI Tutorial
36:44
Payload
Рет қаралды 810 М.
I've been using Redis wrong this whole time...
20:53
Dreams of Code
Рет қаралды 354 М.
Сокетный Клиент-Сервер на C#
58:16
Евгений Волосатов
Рет қаралды 35 М.
Can I Run Youtube Entirely From My Terminal? (No Browser)
15:31
How ChatGPT Built My App in Minutes 🤯
8:28
Website Learners
Рет қаралды 2,3 МЛН