ターキーにリモートでアクセスするには? - ページ 9

 
あとは着手と仕上げだけです :)
 

それが、私たちの仕事です :)

 
君たちが自分を追い込んでくれるのはうれしいよ。成功を祈ります。
 
sergeev >>:

про winsock.dll как раз и идёт речь.

имеется ввиду, что нежелательно использовать свои самописные либы. а виндовые без проблем.

Если не сложно, поделитесь ссылками или кодами без классов (обверток). желательно чистое апи.


一般的には、それほど複雑なことではありません。ws2_32.dllというライブラリがあり、そこから関数をインポートする。

int WSAStartup, WSACleanup, socket, bind, connect, listen, accept, recv, send, closesocket.

クライアント、サーバーともにこれで十分なはずです(何か見落としているかもしれませんので、MSDNを参照してください)。MSDNから例を取ってきて、µlに変換しているんですね。しかし、あまり良い方法とは言えません。ブロッキングソケットを使うことになるので、スレッドが停止してしまい、サーバーで処理することができなくなります。
 
SofTAA >>:
Только не очень хорошо получится, ты будешь использовать блокирующие сокеты соответственно поток у тебя встанет и обработку ты не сможешь вести на сервере.

その点については:)

1.ブロッキングにはどれくらいの時間がかかりますか?

2.このロックが影響を与えるもの

2.ブロッキングをしない場合の代替案

一般的に、ソケットを扱う経験がある(分散コンピューティングを開発したが、apiメソッドではなく、MFCのクラスの助けを借りた)。

私は、サーバーロック(タスクディストリビューター)で問題を起こしたことがなく、それについてさえ知りませんでした。

いつ起こるかわからない

 

私が理解している限りでは、同期アクセスの話です。

 
sergeev >>:

с этого места поподробнее. :)

1. на как долго произойдет блокирование?

2, что затрагивает эта блокировка

2. альтернатива без блокирования.

вообще практика работы с сокетами есть (разрабатывал распределенные вычисления, но не апи методами а классами MFC)

с блокировкой сервака (то есть компа-рассыльщика заданий) проблем не было и даже не знал про это.

это в каких случаях может проявится?


直接作業してもMFC経由でも違いはなく、とにかくルーツはws2_32.dllにあるのです。ブロッキングソケットを使用する場合、サーバーは常にポートをリッスンし、それに応じてスレッドも常にブロックされます。残念ながらμlのマルチスレッドは観測されておらず、期待されていないため、自作のlib以外ではこの問題を回避することはできません。当然ながら、クライアントにはそのような問題はない。そのため、MTからサードパーティーのアプリケーションにデータを送るだけであれば、純粋なapiを使って実装することが可能です。
 
xrust >>:

Насколько я понял речь идет о синхронном доступе.


はい、その通りです。非同期動作の場合、MCLの能力が不足していることは明らかである。
 
SofTAA >>:


Если использовать блокирующие сокеты то сервер постоянно будет слушать порт и соответственно поток всегда будет заблокирован.

つまり、ソケットがリッスンの無限ループに入るため、MTまたはEAスレッドはブロックされるのですか?

は、聴くことなのでしょうか?

 

MTのマルチスレッドはまだ存在しています。インジケータはターミナルスレッドで動作し、EAとスクリプトはそれぞれ別のスレッドで動作します。
注文 チャネルは同じなので、EAがターミナルを遅くしたり、標準の2.5分後にターミナルからタイムアウトを取得したりすることはありません...