C#-judgesystem System-Open Experiment Summary

Source: Internet
Author: User

It took me a week to do the experiment. Intermittent completion of different parts, according to the experimental process to complete the feeling of the experimental process is quite reasonable

Is the final finished product, which includes

Judgecilent Client

Complete section:

1, can provide five kinds of test status display, including network exception, compile failure, input error (timeout), result error, accept, five status

2. No input program can be tested

3, can modify the IP address and port

To improve the section:

1, because the program is only auxiliary test server use, so did not do the interface optimization such as thread optimization to avoid waiting for the server to return when the interface does not respond to the phenomenon

Judgeserver Server

Complete section:

1, error handling, and test in the process of several accidents under the normal operation, and the client is not connected after 30 seconds in the time of the active disconnection to avoid excessive system empty connection caused by the system overhead

2, multi-threaded processing, at a concurrent speed of 10ms a connection, and with different error conditions, the system can still operate correctly, high concurrency under the test of the problem and no errors

To improve the section:

1, the server and client interaction still have imperfect place, one is inconvenient to expand, once the server changes, the client must be modified, because the data is sent in accordance with a certain rules, rather than a structured one-time send

2, temporarily does not provide a custom listening port and the GCC compiler address and test compiled testing working directory, where the relative address is the two folder, the listener address fixed to 8080 and not set to run time determined

Compiletest Compiling class libraries

Complete section:

1, compile and test input and output results, no input by \ r \ n to indicate

2, timeout mechanism, can define timeout time

3, exception handling, under any exception to ensure that the system does not appear uncontrolled sub-process

To improve the section:

1. Improve the information feedback of compiling process through Windows API, including memory, compile run time, etc.

Because the C # language is highly integrated with the system and encapsulates a large number of functions, so the implementation is not very complex, such as the time-out of the socket requires only one or two statements can be controlled, it is very simple and convenient, of course, to achieve more of the underlying functions need to master more C # language

This short period of practice can only grasp some simple C # language, in order to further improve the system may require a more careful grasp of C # some deep-seated usage

Through this experiment, I mastered the C # socket programming, simple multithreaded programming, and C # call external EXE program programming, in addition to HTTP and CGI also have a certain understanding and experience, mastered more untouched new knowledge, but still relatively simple understanding, if you really want to understand C # More details on network programming still require a long time to learn and master, after the experiment also need to self-learning and promotion

C#-judgesystem System-Open Experiment Summary

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.