python socket基本过程之一(client)

来源:互联网 发布:沥青库存数据 编辑:程序博客网 时间:2024/05/22 04:54

Python 3 Socket Client


所有的注释都写在了代码片段中,放在此处,以作记录。

#! _*_ coding:utf-8 _*_'''我将要写一个标准的socket 客户端程序,书写整个流程Author:vincent'''import socketimport sysprint("hello world 你好世界")# 第一步:创建socket'''Address Family:可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用于同一台机器进程间通信)Type:套接字类型,可以是 SOCKET_STREAM(流式套接字,主要用于 TCP 协议)或者 SOCKET_DGRAM(数据报套接字,主要用于 UDP 协议)'''try:    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)except socket.error as msg:    print("Socket创建失败,失败代码是:" + str(msg[0]) + "失败的信息是:" + msg[1])    sys.exit()print("socket 创建成功!")# 第二步:获取服务器IP ,连接服务器'''函数 socket.gethostbyname 来获得远程主机的 IP 地址'''host = 'c.inhand.com.cn'port = 80try:    server_ip = socket.gethostbyname(host)except socket.gaierror:    print("无法进行主机IP 地址解析,之后退出")    sys.exit()print(host + "服务器的当前IP 是:" + server_ip)s.connect((server_ip, port))print("tcp连接成功,当前服务器IP 是" + server_ip)#第三步:发送,接收数据request_data="GET/HTTP/1.1"try:    s.sendall(request_data.encode())except socket.error:    print("请求发送失败")    sys.exit()print("请求发送成功!")reply=s.recv(4096)print(reply.decode())#第四步:关闭sockets.close()
0 0