게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 소켓통신과 스레드간섭에 관하여 질문드립니다.
게시물ID : programmer_20235짧은주소 복사하기
작성자 : 전벙글이예요
추천 : 0
조회수 : 700회
댓글수 : 12개
등록시간 : 2017/04/08 21:12:42
옵션
  • 본인삭제금지
윈도우와 리눅스간의 소켓 통신입니다.

윈도우(데스크탑)
리눅스(라즈베리파이)

스레드를 이용하여 서로 데이터를 주고 받습니다.

현재 두가지의 의문이 있습니다.

1. 통신문제
- 윈도우(client), 리눅스(server) 통신 일 때는 문제 없음
- 리눅스, 리눅스 통신일 때는 문제 없음

그런데
- 윈도우(server), 리눅스(client) 통신일 때는 연결이 되지 않습니다.
윈도우에서 서버를 일단 실행시키고
리눅스에서 클라이언트를 실행하면
서로 Connect가 되질 않고
리눅스에서 그대로 멈추게 됩니다.
에러조차 나지 않네요 ㅠㅠㅠㅠㅠㅠ
왜 이런 상황에서만 통신이 되질 않는 걸까요


두번째 의문 사항입니다.
2. 위 프로그램에서는 3개의 스레드가 사용됩니다.
A, B, C의 쓰레드가 있다고 하면
A와 B는 하나의 변수를 공유합니다.
temp라고 하죠.
A의 역할은 temp의 값을 변경시키는 것이고
B의 역할은 temp의 값에 따라 주어진 명령을 실행합니다.

그런데 A가 값을 변경해주고
B에서 실행하는 순간 세그먼트 오류가 뜨며 종료됩니다.
-_-;;
간섭이 일어날 시 따로 처리 해줘야하는 부분이 있는지가 궁금합니다.

사실 간섭문제보단

통신이 너무 궁금합니다.

왜 저 상황에서만 통신이 안되는지

어떻게 해야 통신이 되는지..

ㅠㅠㅠㅠㅠ 질문드립니다


꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호