Finally, I found good reason to practice on Java. First, start with Linux network socket.
I'm using Windows OS, so I setup AWS EC2:AMI to be the developing VM. Installing development tools is required:
For C: sudo yum groupinstall "Development Tools"
For Java: sudo yum install java-devel
I worked on Linux socket in my early IT career path. I love cloud computing and admire its greatness. Does it mean I adore technology more than humanity? No. Both are fair. How about thinking in this way:
Technology paves the way to listen to everyone who has access to it. No matter you're rich or poor, old or young, brilliant or stupid.
IT doesn't make decisions; the people behind IT do. If the administrator decides to silence/filler out certain information or opinions, it’s nothing different from you sending inquiry to the court, petitions to the government, complaints to customer services, even the advice to your parents/children. But to developers, we need data and suggestions from who needs help but not yet be taken care of. Developers don't want to create things that no one wants and never see the daylight. IT is not only technology. Especially cloud computing, IT is an accumulation of all involved, including humanity and opinions from the general public.
Back to socket. The workflow in C is almost identical to Java, except Java only use one line to setup a socket!
Here is the C version on setup server side. Server need to bind a port for listen()
For the client side, setting the server information and then connect to it.
I wrote Java is almost the same way, except using while loop to extend the communication.
On the server side
On the server side
On the client side, I picked the setup of I/O. Java takes I/O seriously, if asking my opinion to Java. I like Java because it introduced try/catch first. It's very useful for debugging. I like C style more because C has access to memory. It's not safe, I knew. But it is easier to redesign data as meta or image. (and also easy to be messed up... unfortunately. It might be why Java is attractive to me.)
Why I mentioned Linux socket is easy, there is the comparison:
My repository for Windows WFC:https://github.com/atfuture7/learning/tree/master/csharp/12_wcf_simple
Corresponding tutorial: https://docs.microsoft.com/en-us/dotnet/framework/wcf/getting-started-tutorial
You need to create an interface and a class as a library. Then a host to create the service. And then search local hosting service to add to client's reference, and external application svcutil.exe to create the base information for your client application. The client is using a class (here is named CalculatorClient) you have never named it but the application merci you a name....
Wrap up for now. See you next time~
Comments
Post a Comment