In the real world, you will be just the type of developer I will not want to employ - however much of a brainbox you might be
My reasons are:
Your Professor has already dissuaded you from choosing the path you are taking, and you have basically ignored him. This indicates insolence, and is a
poisonous trait when you have a software project with a team of developers.
You are frightened of leaving your comfort zone i.e. C/C++ and in this day and age, I could achieve what you need to do in
30 seconds using WCF. I know the object is for you to learn the
why rather than the
how, but the lesson you are failing to learn is to use the right tools for the job, time-wise and cost effective wise.
Through the years I have countenanced a great many learned friends, that if I'm honest are intellectually superior than I, but they lacked the key decision making abilities hence remain coding, and are flummoxed why they are never allowed to become system architects.
Your stubbornness is the type that drives a $500 000 software project to $5 000 000, and even more in maintenance because you have failed to use the correct tools for the job.
Obviously I mean no offence, as you are very smart, but I only wish to precipitate a
train of thought that you may choose to ignore. If you continue down the path you are choosing, then you have already lost 50% in your coursework, and Java really is not that hard. Like .NET it is laden with Library after Library and I would say that your should be able to research a multi-threaded Java web service very easily, as surely there must be oodles and oodles of people that have run into the same problem.
Good luck with your assignment.