//주석처리
/*
는 개뿔
안쳐다보니까 이런 훼이크나 치잖아.
실험해보니 예상대로 stdout에서는 못읽어오네.
*/
횽들 혹시 scanf 함수나 gets 함수로 입력 대기 중 상태에서 다른 스레드로 중간에 입력하던게 보이지 않게 되었을 때 보이지않게 된 값 알아내는 방법 알어?
리눅스 커널 채팅 만들었는데 이것 때문에 뭣같네. 남이 치면 내꺼 중간에 보이지가 않아서 말이지.
p.s. 횽들이 덧글을 안달아줘서 나 심리학(낚시학) + 1 찍은 듯
/*
는 개뿔
안쳐다보니까 이런 훼이크나 치잖아.
실험해보니 예상대로 stdout에서는 못읽어오네.
*/
횽들 혹시 scanf 함수나 gets 함수로 입력 대기 중 상태에서 다른 스레드로 중간에 입력하던게 보이지 않게 되었을 때 보이지않게 된 값 알아내는 방법 알어?
리눅스 커널 채팅 만들었는데 이것 때문에 뭣같네. 남이 치면 내꺼 중간에 보이지가 않아서 말이지.
p.s. 횽들이 덧글을 안달아줘서 나 심리학(낚시학) + 1 찍은 듯
내가 갤질하다 깨달은 것이, 닉네임은 조회수와 전혀 상관 관계가 없다는 것이다.
따라서 덧글도 닉네임과 관계가 없어
존나 슬프네
내가 병신새끼냐? 아니 전공자가 아니라서 못 알아처먹는거냐? 아님 이 새끼가 지금 옹알이를 하는거냐?
전부네 ㅇvㅇ
ㄴ정답. 사실 문자열 입력 대신 문자 하나하나 입력 받으면 해결되는 문제... 단지 짜기 귀찮아서 다른 방법을 물어보고 있을뿐
그러니까 입력 대기중일 때, 상대방이 입력을 한다 -> 그런데 내 컴퓨터에서는 입력 대기중이라서 출력이 안된다? 이것의 해결법을 묻는거에요?
ㄴ 그건 스레드 분할로 해결함
ㄴ 내가 하고 싶은 말은 : 내가 타이핑 중인데 아직 엔터를 안쳤어. 그런데 상대방 십장생이 메세지를 날려서 나의 아름다운 문장이 화면 청소 당한거야. 화면만 청소 당했으면 상관이 없는데 청소 당하면서 보이지 않게된 문장이 버퍼에 남아있어서 새로 타이핑하면 앞에 청소당한 문장과 같이 입력 된다는 것지...
입력로직하고 출력로직을 나누면 되잖아 ㅡㅡ;
그리고 참고로 이거 숙제 아니다. 늅늅이들 헤깔려할까봐 미리 말함. 까놓고 말해서 어떤 학교에서 수업 3주차에 리눅스 소캣 통신 하긋냐?
아님 gui 처럼 콘솔 창을 분할해서 뿌려줘도 될거고, 출력 버퍼에 우선순위 주고 출력버퍼가 비면 입력 버퍼의 내용 확인해서 뿌려준다음 입력 받으면 되고 ㅇㅇ
어떻게//내가 스레드, 리눅스 둘 다 늅늅이라서 로직이 뭔지 모르겠음. 스레드 나누는거랑 다른거야? 일단 포크는 아닌거 같고
터미널 창 분할 좀 갈켜줘 횽.\'ㅅ\'
기왕이면 터미널 창 크기 조절법도...
뭔가 이야기가 산으로 가는 덧 ㅡ;
로직 개념은 스레드, fork() 이런 라이브러리나 시스템 콜 개념이 아니고, 그냥 헬로월드 찍는 프로그램이면, 아~ 내부에 헬로월드 찍는 로직이 있구나~ 하는 것처럼 프로그램 흐름을 뭉텅그려서 하는 말.
그런거라면 옛날옛적에 분할함
우선순위처리도 다 해놓음.
한글자씩 받는거하고, 문자열로 받는거하고 뭐가 다름? 궁금해서 물음
C 맞지?
단지 채팅 내용을 통째로 array로 저장해서 매번 새로 뿌리는건 병신짓 같아서 그냥 화면에 이미 출력된 채팅 내용을 터미널 맨 밑줄에 \\n write해서 스크롤 확장방식으로 처리한지라 불가피하게 입력 중이던 단어가 지워짐.
C 맞음
한자씩 받고있는거 같으면 화면에 표시된 단어가 이미 내가 제어하는 array에 있는다는 뜻이니까 청소당해도 수동으로 출력하면 그만인데
????????????
아니다, 횽 방식도 일리는 있네.
줄바꿈키에 반응하는 fgets나 gets, scanf 같은 애들은 줄바꿈키 누를 때까지 화면에 표시된 단어가 내가 쓰는 array에 없잖아.
방식 차이네 ㅇㅇ
getchar()이런 애들로 받겠다고?
그럼, 사용자가 이미 작성한 문장을 수정하고 싶을때는? 백스페이스 키 값 인식해서 버퍼를 일일이 지워줌?
과내 소모임에서 소캣 배우는 중인데 내가 갑자기 채팅 만들었다고 하니까 선배가 난 저런거 절대 숙제로 낸적 없는데 하면서 당황함.ㅋㅋㅋ
만약 중간에 띄어쓰기를 안했을 때에는 그럼 어케함 ㅡ;
그렇게해도 되고 어짜피 터미널은 터미널 명령어로 gotoxy함수 구현 가능하니까.
ㅇㅇ 그렇구나, 대단하네. 횽 열심히 해 난 자야겠다
백스페이스는 좌표 한칸만 당겨서 스페이스로 지우고 다시 커서 주면됨
무지 졸립다 ㅡ; 재미있었츰!
ㅃㅃ
ㅇㅇ. 횽도 나랑 말한다고 고생했어.
ㅂㅂ