PLC (프로그래머블 로직 컨트롤러)와 통신하려면 다음 이더넷 네트워크가 있어야합니다. 하나의 이더넷 케이블은 PC에서 이더넷 스위치로 가고 여러 개의 케이블은 스위치에서 병렬로 PLC로 연결됩니다. 모든 PLC 모듈은 다른 IP 주소를 가지며 TCP 연결을 사용하여 그들과 통신하기를 원합니다.
코드에서 IP를 제공하여 각 모듈에 대한 TCPClient 객체를 만들고 데이터를 보내기 전에 연결합니다. 각 모듈에 대해 별도의 스레드를 만들고 각 스레드는 TcpClient.GetStream()을 사용하여 해당 모듈에 데이터를 보내려고합니다. 메서드를 작성하십시오. GetStream이 각 스레드에서 호출 될 때 동일한 Stream 객체를 얻으려고합니까 (PC에서 케이블이 하나 밖에 없기 때문에) 또는 각 스레드마다 다른 Stream 객체가있을 것입니까? 서로 다르면 Stream 객체가 공유 리소스가 아니기 때문에 스레드간에 동기화 할 필요가 없습니다. 이 경우, 나는 하나의 케이블이 나가 있기 때문에 .net이 다른 Stream.Write 호출 간의 동기화를 수행한다고 가정합니다. 사실입니까? 주제에 관한 추가 정보 및 링크를 환영합니다.스트림 하나의 이더넷 케이블을 통한 다중 스레드
0
A
답변
1
다른 TcpClient 개체, 따라서 다른 스트림. 동기화가 필요하지 않습니다. 하나의 케이블에서 다중 TCP 연결을 다중화하는 것은 운영 체제에 내장 된 TCP/IP 드라이버 스택의 작업입니다. 도움을 필요가 없습니다.
관련 문제
- 1. 케이블을 통한 아이폰 동기화
- 2. gsoap 클라이언트 다중 이더넷
- 3. USB 케이블을 통한 프로세스 통신에 관한 질문
- 4. 싱글 스레드 Qt를 통한 다중 스레드 HTML to Pdf 변환
- 5. 하나의 큰 파일을 읽는 Java 다중 스레드
- 6. 다중 스레드 #
- 7. 스레드, 소켓 및 스트림
- 8. 다중 포트를위한 다중 스레드?
- 9. 이더넷 케이블 (TCP)을 통한 rs-232 직렬 연결
- 10. 다중 스레드 JDBC
- 11. 다중 스레드 다중 클라이언트 프로그래밍
- 12. 하나의 리더 스레드, 하나의 작성자 스레드, n 개의 작업자 스레드
- 13. 자바에서 다중 스레드 처리
- 14. Java에서 다중 스레드 실행
- 15. HTTP 게시물과 Java의 다중 스레드
- 16. 다중 스레드 random_r이 단일 스레드 버전보다 느림
- 17. LINQ 쿼리에서 다중 스트림 반환
- 18. SOLR의 원격 스트림 다중 파일
- 19. 다중 스레드에서 MemoryStream에 스트림 읽기
- 20. 다중 스레드를 통한 Java 로깅
- 21. C++ 다중 스레드 서버 도움말
- 22. 파이썬에서 다중 스레드 프로세스 로깅
- 23. 임베디드 리눅스에서 다중 ALSA 사운드 스트림?
- 24. .NET 다중 스레드 싱크ronronization
- 25. JDBC 연결의 다중 스레드
- 26. OpenCV 다중 스레드 호출
- 27. 다중 스레드 NSDocument 종료
- 28. WCF 다중 스레드 호출
- 29. Eclipse에서 다중 스레드 디버그
- 30. VB에서 다중 스레드 ObservableCollection