(기초) 소켓 프로그래밍 각 호스트의 구조체 설정관련

kakalot81의 이미지

M, A, B 라는 호스트네임을 가진 세 컴퓨터가 있습니다.

M에서 m1, m2라는 데이터를 각각 A, B에 send하고 싶은데 의도와는 반대로 B, A로 send가 됩니다.
(B가 A보다 항상 빨리 도착해서 이런 결과가 생기는 것 같습니다.)

연결지향 소켓이라 accept 두번째 필드에서 addr 구조체 포인터를 연결해야 하는데
M에서 A, B의 호스트네임을 받아 addr에 연결하는 작업을 어떻게 해야할 지 모르겠네요.

지금 현재 문제가 되는 이유는 서버측에서 scokaddr_in 구조체를 2개(A, B관련) 생성만 하고, 곧바로 연결해 준 관계로 A, B가 각각 구조체의 정보를 못가지고 있는 형태라서 무작위로 데이터를 보내는 것 같아요.

M에서 A, B의 소켓 구조체정보를 addr_A, addr_B에 담으려면 어떻게 해야 할까요?
질문 적다가 얼핏 든 생각인데, M(server측)에서도 accept호출 이전에 A, B의 소켓 구조체 정보를 setting을 해주면 되는 걸까요?

kakalot81의 이미지

accept 함수호출 이전에 A, B의 소켓 구조체 정보를 선언해도 여전히 꼬여서 통신이 되네요.흑흑.

원하는 호스트와 선별해 통신하는 방법이 분명 있을텐데.. 어렵네요ㅜㅜ

dong1036의 이미지

accept하면.. 연결된 파일디스크립터가 오는데..

그것을 자료구조에 저장시키면.. 간단할 듯 ㅡ,.ㅡ

음 냐냐~