現在LANで接続されたプリンタに文字列を印字させるプログラムを作成しているのですが、プリンタ側のIPアドレス、使用するポート(今回は1024という指定があったのでそれに設定)を設定し、印字処理をはしらせたのですが、そこでエラーが発生してしまいます。簡略化していますが、プログラムは
Private sckWinsock As Winsock
Set sckWinsock = Winsock1
sckWinsock.Protocol = sckTCPProtocol
sckWinsock.RemoteHost = "192.168.0.***"
sckWinsock.RemotePort = 1024
sckWinsock.LocalPort = 0
sckWinsock.Connect
strData = "テスト印字"
sckWinsock.SendData strData
sckWinsock.Close
エラーは
sckWinsock.SendData strData
ここで発生し、『指定したトランザクションまたは要求のプロトコルまたは接続状態に問題があります。』とでます。
PINGはちゃんと通りますし、プリンタ設定にあるテスト印字は問題なく機能するので、プリンタとの接続がまずいとは思えないのですが・・・
WinSockを使うのは初めてなので勝手がわからなく苦戦中です
どなたかわかる方、お返事お待ちしています
No.3ベストアンサー
- 回答日時:
APIを使用するとできます。
ただ、使い慣れるまでちょっと大変かも・・
ちょっと検索したら、以下のところにサンプルが
ありました。
winsock api なんかで検索してみてください。
ほとんどがC言語用にかかれているものばかりですけど。
がんばってください。
参考URL:http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/98 …
No.2
- 回答日時:
>Connectが開始されても一向にイベントが発生せず、原因もわからなかったので省いていました。
TCPの場合Connectのイベントが発生しないということは、
’つながっていない’ってことです。
TCPの場合、電話のような通信をイメージしてください。
電話をかける->Connectメソット
相手が電話に出る->Connectイベント
話す->SendData
この例でいうと相手が受話器を取っていないのに
しゃべり始めてるってことです。
UDPの場合は無線みたいな物で、相手が聞いてようがいまいが
関係なくしゃべるということになります。
通信の仕様がTCP・UDPによりプログラムも変わります。
MSDN(ヘルプ)のWinsockコントロールのところを
みてください。
簡単な、サンプルものってますよ。
VB6で説明しています
この回答への補足
momoturboさん、再度ご返答ありがとうございます
電話を例えての説明すごくわかりやすかったです
理解できたのは良いのですが、色々と調べているとWinSockコントロールが使用できないことがわかりました。(VBは6.0です)
ですので、コントロールを使わずにソケット通信ができれば良いとは思っているのですが、何かご存知ないでしょうか?当初の質問とは違いますが、よろしくお願いします
No.1
- 回答日時:
思いつくことを書きます。
・sckWinsock.ConnectのあとすぐにSendDataを書いても
だめだと思います。Winsock1_Connectのイベントのあとに
行ってみてください。できればコマンドボタンのクリック
など・・
・印刷のプロトコルはTCPですか?
UDPではないのですか?
VB6の場合
この回答への補足
momoturboさん、返答ありがとうございます。
まずWinsock1.Connectのイベント後にSendDataを書いたほうがよろしいとのことですが、前に試していたときはConnectが開始されても一向にイベントが発生せず、原因もわからなかったので省いていました。
記述していたときは以下のとおりにしていました
(While文でループを繰り返すだけでした)
blnConnect = False
Winsock1.Connect
While blnConnect = False Then
DoEvent
Wend
Praivate Sub Winsock_Connect()
blnConnect = True
End Sub
それとプロトコルですが、UDPのほうが印刷には適していますか。どちらがよいのかわからず適当にTCPのほうにしていたもので・・・
UDPで挑戦してみます。
できればさらなるアドバイスお願いします
(情報が少なすぎなら追記いたします)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー 佐川急便のプリンターで印刷用の送り状が印刷時に詰まる 2 2022/11/23 18:25
- プリンタ・スキャナー エプソンのプリンタEP-879AWを使っていますが印刷文字がぼやけます。 家電量販店で写真印刷がメイ 4 2022/03/26 23:20
- プリンタ・スキャナー プリンタを無線化したい 7 2023/04/08 06:25
- Word(ワード) Wordでの印刷サイズについて A4の原稿をB5サイズで出力したいとき、 印刷から用紙サイズの指定か 4 2022/04/30 09:51
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- プリンタ・スキャナー androidとcanonプリンタをイーサネットで接続したい 1 2022/11/08 21:04
- プリンタ・スキャナー 「ネットワーク上にプリンタが見つかりませんでした」 5 2023/08/02 20:53
- プリンタ・スキャナー プリンタ買おうと思ってます。キヤノンCanonがいいと思ってます。今まで使っていて十分機能満たしてい 6 2022/08/01 15:48
- プリンタ・スキャナー PCとプリンターの接続 1 2023/02/08 09:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ネットワークプリンタが自分の...
-
エクセルを開くと、「プリンタ...
-
ローソン、ファミマの Print Sm...
-
PC1台でプリンターを2個使う...
-
VB.NETからExcelを開きプリンタ...
-
LANケーブルを直接PC接続しても...
-
スプールマネージャーとはどこ...
-
異なるLANにあるネットワークプ...
-
USBポートとLPTポート
-
マックでのプリンターIPアドレ...
-
ネットワークプリンタで「共有...
-
ネットワークプリンタ:プリン...
-
プリンタの用紙排出トレイの選...
-
ネットワークプリンターをLP...
-
LANプリンタの固定IPアドレス o...
-
「通常使うプリンタに設定する...
-
3~4kmぐらい離れたプリンタへ...
-
ドメインに参加せずにプリンタ...
-
インターネットを光にしたらネ...
-
EXCELネットワークプリン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローソン、ファミマの Print Sm...
-
エクセルを開くと、「プリンタ...
-
異なるLANにあるネットワークプ...
-
LANケーブルを直接PC接続しても...
-
デフォルトゲートウェイとは?...
-
PC1台でプリンターを2個使う...
-
外部から会社のプリンタを利用...
-
VPN中でも自宅のwifiプリンタに
-
ネットワーク内のプリンタ等のI...
-
NASでのプリンタ共有方法
-
Windows システムログ ID:8021...
-
ネットワークプリンタ:プリン...
-
プリンタの印刷設定が保存されない
-
ネットワークプリンタに接続で...
-
IPで違うネットワークアドレス...
-
会社のネットワークプリンター...
-
VPNとプリンタの設定で
-
EXCELネットワークプリン...
-
エクセルでユーザー定義サイズ...
-
ネットワークプリンターをLP...
おすすめ情報