Summary of technical difficulties solved by developers in unfamiliar Fields

Source: Internet
Author: User

Developers often encounter projects or requirements arranged by their bosses or headers, which are completely unfamiliar with their own fields. At this time, they will have a headache. Search Engines can solve most of these problems, sometimes it's crazy because of your own problems or you cannot find a solution ...... although it has been going on for more than 10 years, we will encounter such problems from time to time.

 

Some time ago, my boss gave me a problem. The specific requirements are as follows:

The server has two NICs connected to China Telecom and China Unicom respectively, requiring the software to use the NIC to access the network when receiving the request, and use the NIC to access the network when receiving the B request, you must be able to process requests in multiple threads. I also gave a prompt saying that he could simply implement the routing function by listening to his friends.

 

Solution 1: If the problem persists, contact Gu Ge.

 

After getting the problem, first carefully analyze the requirements and see if it involves several technical points. What you are familiar with can be done, and what you are unfamiliar with need for help.

 

The above requirements seem simple and prompt again. After a brief analysis, some technical points may be involved: network access and access need to be bound to a NIC (MAC), Server Load balancer, multithreading, routing and other technologies. I thought that DU Niang should be able to quickly find out the answer, just do it, and enter in Du Niang: "c # winform bind nic", "c # HttpWebRequest bind nic", "c # bind MAC", "c # automatically select nic", and "C # winform multi-nic "nic gateway, "C # Winform TCP/IP communication", "c # route", "c # route switch route", "c # MAC Nic Load Balancing", and "multiple NICs BIND server Load balancer, c # routing, and c # routing programming "......

After searching for half a day, I only found some solutions that were not very reliable. For example, I used the CMD command to modify the route of the vro. However, after the change, I used the NIC with a low hop, you cannot process multiple requests at the same time. You can only interrupt the processing one by one without achieving the desired purpose.

Other solutions are not found ......

 

 

Solution 2: Query technical documents

 

When the first method is not running, you can only view the help documentation and development language-related technical documents.

  

Because the development language is developed in C #, as prompted by the boss, I tried my best to find routing-related information (it was wrong to import... T_T)

No other methods are found except for the method used to modify the route of the vro.

 

Solution 3: Use more teams

When individuals cannot solve the problem, they need to use the relationship and ask their colleagues, friends, or technical Q groups to see if there are any good solutions. In many cases, we lack a good starting point, for a discussion, it is often the inspiration, or some friends have come up with some good ideas or tips to set keywords based on this idea to query or view relevant information. The problem is no longer a problem. Therefore, this method can solve the problem in general (unless it is a special technical problem). In the past, many technical problems were solved by the help of colleagues and friends, with high efficiency.

 

After the above solutions cannot be solved, you can only broadcast your own problems to colleagues, friends, technical Q groups, and other places, spread the internet, and see if you can meet your friends, prompting you to give a prompt. However, after so many inquiries are sent, I have never touched on such technologies ...... @_@...... I have asked all the questions, but there is still no solution.

 

Solution 4: Think about whether the above solutions have gone astray and find new starting points.

When there is no clear solution, you may wish to let go of the current problem and do other things first. After a slow wait, you can try again. Because when the thought goes astray, it is always in that circle, and it is difficult to jump out, and after a slowdown, the mind is clear, it will produce more new ideas, try again one by one. If you have encountered many other technical problems that cannot be solved before, you can use this method to easily find the areas that were previously ignored by yourself, thus finding the key points of the problem and solving the problem.

 

At this time, I have been studying it for three or four days. I have no idea how to solve it at all, and I am very anxious. However, I have to force myself to calm down and review it carefully to straighten out my thoughts: can this requirement be implemented? (according to BOSS, this is certainly possible. However, from a technical perspective, there is certainly no problem with implementation, that is, you need to find the right API )? The technology used in this requirement must be related to network access, network adapter (MAC) binding, and Server Load balancer. The query keyword should be incorrect, the queried data is also faulty. Besides using C # To Call APIs, do you want to use C ++ to write plug-ins to call C ?......

Finally, it took more than a day to query all aspects of the information, but there was still no way (mainly because it was too unfamiliar with the field and the corresponding solution was not found on the Internet ), you can only use the last trick ......

 

Solution 5: Find Daniel to help solve the problem

IT technology is endless, and everyone has something they are best at. Therefore, it is normal that they cannot solve some problems, and professional tasks should be handled by professional people, therefore, you must go to major technical forums to seek help from cool people, such as posting on technical forums, blog websites, and other places for help.

 

This problem has reached the end of the time, I wanted to post a question in various technical forums, but I think I don't have much time to post it, therefore, I have a thick face with my blog and CSDN looking for some big bull's blogs to see which of them are familiar with this one, and then directly send an email or leave a message to them and ask them for help.

Finally, with the help of CSDN Daniel Chen Yu, the problem was solved. I would like to thank him for his busy schedule and enthusiastic response to my questions. I would also like to thank kl222 and lucasFeng of the blog Park for their help during this process.

 

The specific solution is as follows: (in a multi-nic environment, you only need to specify the IP address of the NIC to send packets externally when accessing the Internet, you can easily implement the functions mentioned at the beginning)

// Set IPstring sendingIp = "192.168.0.1" for the NIC used for external access; // set port int sendingPort = 5000 for external access; uri uri = new Uri ("http://google.com"); HttpWebRequest wr = (HttpWebRequest) WebRequest. create (uri); // obtain the packet for external access and specify the IP address (NIC) and port used to send the packet ServicePoint sp = ServicePointManager. findServicePoint (uri); sp. bindIPEndPointDelegate = (servicePoint, remoteEp, retryCount) => {return new IPEndPoint (IPAddress. parse (sendingIp), sendingPort) ;}; // submit the request and obtain the returned result var data = new StreamReader (wr. getResponse (). getResponseStream ()). readToEnd ();

 

Summary

For beginners, they often encounter various needs and problems, but not everyone is lucky to have a great guy around them who can help solve various problems at any time, therefore, most of us need to take the test and solve it by ourselves. This requires related skills. Using good skills can reduce your detours and save time costs. In addition, relying too much on others will also reduce your own growth space, in addition, the experts will be very tired of asking questions without careful research by themselves (most of them are asking some very elementary questions ).

 

This article is original content. Keep the following information for reprinting.

As long as you are interested in learning and making progress together, you can add Q group: 327360708 or Email to me (1654937 # qq.com, as I am very busy, please leave a message if you have any questions. Please forgive me for not replying in time.

For more information, see blog:

 

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.