Find Jobs
Hire Freelancers

BlackJack Game with C Socket Networking

$250-750 CAD

종료됨
게시됨 11년 이상 전

$250-750 CAD

제출할때 지불됩니다
  In this task, you will solve a concurrency problem using the key concepts: Processes, inter-process communication, client-server model, network programming, sockets, managing asynchronous i/o       The problem You are to write a server and the client processed to act as a dealer and players for the card game, Black Jack. For the purposes of this assignment we will be using a simplified version of the rules for the game. These rules are to be realized in the server (and dealer) with a specific protocol which will allow ANY client process that also implements the protocol to connect to your server and play the game.   * Criteria that your server should satisfy include:     The server should be accessible from both local and remote sites. This means that the dealer and the player processes may reside on different machines, provided that these machines are connected by the Internet.   The master socket to which clients will connect should use port number 2000 + the last three digits of your student ID. For example, if your student ID is 223456, you should be using port number 2456. This port number should appear in the header of the document that will accompany your solution.   Busy-waiting must be avoided.   The server must support the protocol outlined below.   The protocol   The game is played in ``rounds''. At the start of each round a number of player connections are accepted by the server, and a hand of blackjack played with each in accordance with the rules provided.   The server initiates a round by accepting the first available connection from its master socket. Player processes connect to the server to express their willingness to participate in the current round.   When a player first connects, it sends the server the magic word 0xdeadbeef. This word indicates to the server that this is an actual player that knows the rules of the game (and uses the correct protocol). A player that doesn't send this word within 5 seconds should be disconnected (its socket is closed) and ignored. Once the first player is authenticated, the server should proceed to accept additional players in the same fashion until:    *a total of 4 players have been accepted (initial + 3 more) OR  *30 seconds have elapsed since the first player requested a game,   at which point the ``table is closed''. The round then commences with the available player connections.   Once a set of players have been accepted as outlined above, the server should fork off a child process to execute the dealer process that will play the game with the connected players. The server should wait for the dealer to finish the round (child process terminates), at which point it should begin collecting players for a new round, and the process repeats itself. Note that the master socket is never closed.   The dealer begins by sending each player their cards, followed by the single visible dealer card (see format below). Note that the dealer will have up to 4 hands of its own (one for each player it is playing against). As soon as a player receives this information, it may begin playing its hand in accordance with the rules. Specifically, a player may send the message "HIT", to which the dealer will respond with another card (same format). Alternatively the player may send the message "STAND" to indicate that they are satisfied with their hand. If a "hit" results in the player going bust, the dealer disconnects the appropriate player connection after "dealing" (sending) the card---the dealer automatically wins that hand. Note that the dealer is aware of this since it can keep track of the player's hand,   Important: The dealer must process players' requests as soon as they are received; the dealer will have to monitor all connections for data simultaneously, rather than process them in round robin fashion.  
프로젝트 ID: 4026813

프로젝트 정보

6 제안서
원격근무 프로젝트
활동 중 11년 전

돈을 좀 벌 생각이십니까?

프리랜서 입찰의 이점

예산 및 기간 설정
작업 결과에 대한 급여 수급
제안의 개요를 자세히 쓰세요
무료로 프로젝트에 신청하고 입찰할 수 있습니다
6 이 프로젝트에 프리랜서들의 평균 입찰은 $385 CAD입니다.
사용자 아바타
Sir! Please check my PM. Thanks!
$500 CAD 15일에
5.0 (2 건의 리뷰)
4.0
4.0
사용자 아바타
Let me do it for you. I have full time available this week. Regards, Norberto
$300 CAD 7일에
4.7 (4 건의 리뷰)
3.3
3.3
사용자 아바타
Dear Sir. I have very interest in your project. Please give me chance. Thanks.
$1,500 CAD 30일에
4.7 (5 건의 리뷰)
3.3
3.3
사용자 아바타
Sir! I can help you. Thanks.
$350 CAD 10일에
5.0 (1 건의 리뷰)
2.8
2.8
사용자 아바타
Hello, I'd like to do the project. Please let me know if you are interested and I can start it. Thank you.
$250 CAD 4일에
0.0 (0 건의 리뷰)
0.0
0.0
사용자 아바타
I have experience with c/c++ and cURL under linux/windows.
$400 CAD 4일에
0.0 (0 건의 리뷰)
0.0
0.0
사용자 아바타
We are freelance software developers. If you contact me I can give a quote for your project and we can discuss the details. <b><i>Removed by Admin</i></b>
$500 CAD 1일에
0.0 (0 건의 리뷰)
0.0
0.0
사용자 아바타
Hi! I can do this task for you. I have more than 10 years experience in developing C applications including banking and networking applications. Best regards.
$360 CAD 6일에
0.0 (0 건의 리뷰)
0.0
0.0

고객에 대한 정보

국기 (CANADA)
London, Canada
0.0
0
결제 수단 확인
12월 10, 2012부터 회원입니다

고객 확인

이 거래선이 등록한 다른 일자리

BlackJack Game w/ C Socket Networking
$50-100 CAD
감사합니다! 무료 크레딧을 신청할 수 있는 링크를 이메일로 보내드렸습니다.
이메일을 보내는 동안 문제가 발생했습니다. 다시 시도해 주세요.
등록 사용자 전체 등록 건수(일자리)
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
미리 보기 화면을 준비 중...
위치 정보 관련 접근권이 허용되었습니다.
고객님의 로그인 세션이 만료되어, 자동으로 로그아웃 처리가 되었습니다. 다시 로그인하여 주십시오.