socket通信三

<!DOCTYPE html>

socket通信三

socket通信三

经过上一篇 的讨论,我们已经初步认识了用c++使用socket , 用c++和python使用socket对比,这章就看看用python网络编程吧。

先看看在本机上 连连看。


服务端



客户端

实验下,客户端发送一个hi,服务端返回时间。

但是出现了一个错误,python库里的socket.py,也就是脚本tcp.py调用的库,好像有点问题。


坏的文件描述符


其实是服务器脚本的一行代码缩进错了。



总结一下,客户端需要设置什么,1.要连接的目标服务器地址 2.目标服务器端口 3.使用套接字使用什么协议族 4.发送什么请求

socket.gethostbyname(hostname) 该函数将主机名转化为ip地址

socket.gethostbyaddr(ip address) 将ip转化为主机名

socket.socket([family[,type[,proto]]]) 从指定协议创建一个socket实例

第三项,proto协议,可选 IPPROTO_TCP、IPPROTO_IP、IPPROTO_UDP…… 分别代表tcp协议、ip协议、udp协议

在上面的例子中,由于是 from socket import *  而不是import socket

所以 xx = socket(AF_INET,SOCK_STREAM)就可以了

如果是import socket,就要:

xx = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

socket.create_connection(address[,timeout[,source_address]]) 输入主机、端口,返回一个网络socket实例