❔ Asynchronous TCP-programming
Hey guys, I have a project where I need to implement client in order to send data to a program called Centralcomputer.
111 Replies
cool
And?
it's getting old, i'm not going to pry your question out of you this time
I have no idea what what is that and how to write the logic, that's why I needd your help?
start researching it
You didn't give any details in the opening post, so at the moment it's impossible to meaningfully help you
you can't keep leaning on us to hold your hand through the entire problem solving process, i think it's hurting your learning at this point
I did check the docs, but it didn't understand it either cause the docs talks a bout too much random details where I feel confused.
so ask specific questions about those details
Ok
Hold on
This is a program, my job is to build a program using Windows Forms and the program should be able to be connected to the central computer through an asynchronous TCP connection. This should be displayed with a graphic element (eg a button that turns green)
do you have a specific question?
They're still typing
The the next step would be the program should be able to load books from an external text file and save it in a graphical listBox element.
weird, it didn't show the typing indicator for me
I'm very new to this type of project, that's why I need to understand how to start?
Maybe cause I'm using Discord in two distinct devices
Can we go step by step so I can understand clearly?
i assume you have the assignment instructions that give you a starting point
i personally am not going to walk you through it because i don't think that strategy has been helping you
if you have specific questions about how to do something i can help, but you gotta figure out how to at least get the general structure of the project laid out
This is the starting point
How am I gonna know what where to start?
you have the requirements, break them down into smaller and smaller problems that you can solve individually
Ok
Tell me then? What is the first problem?
you have to figure that out
like i said in the other thread, this is critical for you to practice on your own
Ok
But why the server exist then?
identifying and breaking up problems is a massive part of being able to develop software, if we keep telling you the answer you won't learn to do it yourself
it exists to help you to learn to program, but feeding you the answers doesn't accomplish that
I didn't ask for a solution, I'm trying to learn it.
right, and this is how you learn
trying it yourself instead of asking someone to tell you
we can help if you get stuck, but it seems like you haven't even tried yet
@Faraj is this a school project, a work project or something else?
It's a course project
Is this something you're doing yourself or has someone assigned it to you?
It's just a part of course curriculum
Ok, but did you pick the course or did someone assign it to you?
I'm given requirements that needs to be implemented, but no idea what to do where to start.
I picked
Well, you may have picked an advanced course while still not understanding some basics.
Like, do you know what asynchronous programming is?
Or what TCP is?
Nope
Then why did you pick this course?
I didn't pick, just like told you earlier here .
Well, whatever the case, you need to learn the basics first.
Asynchronous programming you can learn from Microsoft documentation.
TCP communication is a bit more complicated.
Especially when paired with asynchronous stuff.
The beginning of the course wasn't that hard building simple projects, but then I was given this project.
Ok
You mean the basics of Asynchronous programming?
Yes, among other things.
Ok
This is the thing, I want to learn the introduction first and understand it, then try to implement the project.
Well, then start frm link I gave you.
Great. I'll read the content in the link then.
Do you think I can learn it from the link and be able to build the project or does this take time to learn?
Well, it will certainly take time, especially if you don't know anything from this area.
Start from here https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/
And them make sure you read all the subjects in this branch
Then yu need to start learning about network programming with C#.
what content is in the lectures for this course? i find it hard to believe it's just throwing out assignments with no instruction
Should I start with this and ignore the previous one?
Good question actually, no course is going to just throw a project at you without teaching you something first.
There's a Yt video but it's in different language, although it doesn't explain that much, it just shows that I need to create the client part.
i'm just really confused at the series of events through all these posts over the past few months
the course should be teaching you how to do these projects
if it's not, stop taking it because it's not doing its job
is it a paid course or just videos on youtube?
I think the course sucks and old, but I'm able to get a credited certificate from my local school
No, I get paid from the government by taking it 😁
Like 400 dollars a month
No, it provides introduction of the assignment, requirements, a 6 minutes video and that's it.
But there's a book that they mentioned that I should be reading too.
are you reading it? which book is it?
Not so often, it's a bit old.
It's kind of my fault too
I need to order a new good book actually
I took a course before this one and it was the worst, but this one is a bit better at least.
I think in my opinion a good paid course that teaches you effectively is very worth to invest in like on TreeHouse or Udemy.
it's a good option for some people
but if this current course isn't explaining why or how to actually do the projects it's not providing any real value to you
especially because intro CS is more about learning to solve problems and less about actually programming
that's why i've been pointing you in the direction of thinking less about the code itself and more about what the problem actually is and how to turn a big problem into smaller problems that are easier to solve
Ok
This seems very clear to me
I keep forget that stupid me
Like for example, how do I split this into smaller problem without any code?
Could you provide a simple example?
you think about it more abstractly
Ok
Let me see
like connecting to another application - what kinds of messages do you need to send and receive? you don't actually need to care how that is done right away, just what they are
you care about that when it's time to solve that specific problem
then you'd break that down into even smaller problems like what kind of network connection, what format you need to put the messages in, etc.
Awesome
it's a lot easier to write the actual program once you've broken the high level problem down into individual tasks to complete
I'll copy paste these steps in my note app, so next time I'll use these as an example on how to think about building a program in my future projects.
Exactly
whenever you have a problem and you think "i don't know how to do that," try and turn it into smaller problems that you do know how to do
you might still get stuck, but it will get you a lot further than just staring at the big problem and you will be able to ask more specific questions that are easier for us to help you with
Definitely, I'll follow your great tips.
this is also how it works in a lot of jobs - you aren't writing the entire program, you're only solving one of the smaller problems and other people are solving others
I promise, next time I won't just come here and post a thread, thus I'll follow your tips and do my best to think about the smaller problems instead of just coming here and asking people.
Ok
I see
you could also consider diagramming the problem, like an organization chart
your big problem is at the top, the next level is some smaller problems, the next level is even smaller problems, all the way until you have simple things that are easy to do
then you basically just put them all together and now your big problem is solved
But what if the docs contains a verrrrrrry long details only on one topic or concept, should I read it all and understand it all?
it depends, if you want to thoroughly understand something you should read all of the docs related to it
Look at this docs how much details contains https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/ God help me
Asynchronous programming in C#
An overview of the C# language support for asynchronous programming using async, await, Task, and Task
or you could just read until you've solved that small problem and move on to the next one
something like async/await is pretty complicated, but you don't necessarily need to fully understand it to solve your problem
i use it a ton and i don't know every little detail of how it works
Ok
I get afraid of complicated stuff that I won't be able to learn it, but it's not the end of the world, we learn by practicing.
I learned a lot from your experience today, I'll save it in my bucket. Thank you
I'll go and apply what I learned
You as a developer, do you recommend me any course to purchase? That will be worth to invest?
Paid course
i never used a paid course so i can't make any recommendations
I often read same pages multiple times before I fully understand everything.
pretty often i just read enough of the docs to figure out how to solve my problem and move on
really depends on your goal
Information in some pages can be overwhelming when you starat, but as you learn more stuff, more things will fall into place and will become easily understandable to you.
If you got money to spend, then get yourself a Pluralsight monthy subscription.
If you want to focus on .NET and C#, Pluralsight is probably one of the best learning sources.
Just like jimmacle, I rarely have to read everything because information I need for solving a specific problem is often just a few lines of text somewhere.
One of the most important skills you need now is being able to find information you need.
Almost everything's written somewhere, and if it isn't, someone will eventually write about it.
But you need to know best ways how to find that information.
Ok! Like for example, would I be able to find a soltuion for my problems to create the program in this docs? .
Do you want to learn how to do this yourself or do you want a ready-made solution?
What is this called Pluralsight?
Of course I want to learn
Online Courses, Learning Paths, and Certifications - Pluralsight
Pluralsight helps organizations, teams, and individuals build better products with online courses and data-driven insights that fuel skill development and improve processes.
What's the meaning of doing a course if I don't learn myself
Courses teach you how to do something, they don't ask you to do it yourself.
Pluralsight courses will teach you everything about specific topic.
It's like in the school, but better.
Ok! Awesome. I think this is what I need.
Great thing about Pluralsight subscription is that you can do any course at any time.
If it's worth it or I'm gonna benefit from this why not enroll in it
Ok
You don't buy individual courses, you get access to ALL of them.
Wow
Awesome
Just like skill share?
I don't know, I never used Skillshare.
I think it's called skillshare not sure
But it does the same thing
Ok
That's irrelevant.
You need good learning source and you need to start from the beginner level.
Let me see how much it costs
Don't skip anything.
$29 / month for the full access subscription.
Of course not
This a good price bro 😃
Thank you for recommending me this
They also have certifications.
Like tests you can do.
What about courses on Treehouse Udemy? Maybe I don't need them now.
Great
Just use one resource for now, don't jump all over the place.
Maybe this will teach me a lot of stuff
I can't say anything about other resources, they could be good, but I know Pluralsight because I personally use it.
Exactly and end up spending a lot
Awesome
More like end up trying to learn too much and actually learn nothing 👀
That's very correct
Learning aimlessly or randomly
Pluralsight has skill assesment which will then tell you where to start.
They can create the best path for you.
Wow
Give you a set of courses you should follow in specific order.
fantastic bro
Now go learn 🙂
I'll go head and enroll then
Yep, thanks a lot.
You're not enrolling into anything, you're subscribing to their service and you can cancel whenever you want.
Sorry, this is what I meant.
So is this what helped you most to become like a junior dev?
Or did you learn on your own too beside that?
Was this issue resolved? If so, run
/close
- otherwise I will mark this as stale and this post will be archived until there is new activity.