iOS 如何连接打印机

  • Post author:
  • Post category:其他


问题描述:我想要再ipad程序里面,用代码给打印机发送一段字符串,然后打印。



具体情况是这样的,现在想要用wifi连接到打印机,然后给打印机发送一个字符串去打印。但是问题是不知道如何连接打印机,也不知道如何给打印机发送消息。其中打印机和ipad在同一个局域网下,想用socket通过打印机的ip地址进行传送要打印的内容。

更多解决方法见:

http://ask.csdn.net/questions/910

.h 里面


  1. #import <UIKit/UIKit.h>

  2. #import “AsyncSocket.h”


  3. @interface ViewController : UIViewController<AsyncSocketDelegate>

  4. {

  5. AsyncSocket *asyncSocket;

  6. }


  7. @end



.m里面


  1. #import “ViewController.h”


  2. @interface ViewController ()


  3. @end


  4. @implementation ViewController


  5. – (void)viewDidLoad {

  6. [super viewDidLoad];

  7. //    NSError *err = nil;

  8. //    if(![asyncSocket connectToHost:@”192.168.1.105″ onPort:18011 error:&err])

  9. //    {

  10. //        asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];

  11. //

  12. //        [asyncSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];

  13. //

  14. //        if (![self SocketOpen:@”192.168.1.105″ port:18011])

  15. //        {

  16. //            NSMutableString *sendString=[NSMutableString stringWithCapacity:1000];

  17. //            [sendString appendString:@”非警务健身房”];

  18. //            NSData *cmdData = [sendString dataUsingEncoding:NSUTF8StringEncoding];

  19. //

  20. //            [asyncSocket writeData:cmdData withTimeout:-1 tag:0];

  21. //        }

  22. //        NSLog(@”Error: %@”, err);

  23. //    }

  24. }


  25. -(IBAction)haha:(id)sender{

  26. asyncSocket=nil;

  27. NSError *err = nil;

  28. if(![asyncSocket connectToHost:@”192.168.1.105″ onPort:18011 error:&err])

  29. {

  30. asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];


  31. [asyncSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];


  32. if (![self SocketOpen:@”192.168.1.105″ port:18011])

  33. {

  34. NSMutableString *sendString=[NSMutableString stringWithCapacity:100000];

  35. [sendString appendString:@”Socket测试成功!!!!”];

  36. NSData *cmdData = [sendString dataUsingEncoding:NSUTF8StringEncoding];


  37. [asyncSocket writeData:cmdData withTimeout:-1 tag:0];

  38. }

  39. NSLog(@”Error: %@”, err);

  40. }

  41. }

  42. – (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port

  43. {

  44. NSLog(@”onSocket:%p didConnectToHost:%@ port:%hu”, sock, host, port);

  45. [sock readDataWithTimeout:1 tag:0];

  46. }

  47. -(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag

  48. {


  49. }

  50. – (void)onSocket:(AsyncSocket *)sock didSecure:(BOOL)flag

  51. {

  52. NSLog(@”onSocket:%p didSecure:YES”, sock);

  53. }

  54. – (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err

  55. {

  56. NSLog(@”onSocket:%p willDisconnectWithError:%@”, sock, err);

  57. }

  58. – (void)onSocketDidDisconnect:(AsyncSocket *)sock

  59. {

  60. //断开连接了

  61. NSLog(@”onSocketDidDisconnect:%p”, sock);

  62. }

  63. – (void)didReceiveMemoryWarning {

  64. [super didReceiveMemoryWarning];

  65. }

  66. – (void)viewDidUnload {

  67. asyncSocket=nil;

  68. }

  69. //打开

  70. – (NSInteger)SocketOpen:(NSString*)addr port:(NSInteger)port

  71. {

  72. if (![asyncSocket isConnected])

  73. {

  74. [asyncSocket connectToHost:addr onPort:port withTimeout:-1 error:nil];


  75. NSLog(@”connect to Host:%@ Port:%d”,addr,port);

  76. }

  77. return 0;

  78. }



版权声明:本文为li_yangyang_li原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。