Python:socket初学总结
看了一点点的《python网络编程基础》,socket的简单客户端伪代码如下:
#客户端 import socket host=*** port=*** #创建一个socket,告诉系统需要一个Internet socket来进行TCP通信: s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #通过port端口连接host主机: s.connect((host,port)) #这里必须用到一个元组(tuple),否则异常 #主循环: while True: data=raw_input('Information:') if not data: break s.send(data) #发送data到服务器缓存 recver=s.recv(2048) #从服务器缓存中接收内容,2048为缓存大小 print recver s.close() #关闭客户端
随后,试了自己去编写一个最最最简单的服务端/客户端的socket聊天程序,亲测成功,哈哈..
截图:
服务端:
#服务端 import socket host='127.0.0.1' port=12342 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind((host,port)) s.listen(5) while True: print 'Waiting for connection..' clientsock,addr=s.accept() print 'Connected from:',addr while True: recver=clientsock.recv(2048) if not recver: break print recver data=raw_input('Server_Send:') if not data: break clientsock.send('Server said:%s' % data)
客户端:
#客户端 import socket host='127.0.0.1' port=12342 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect((host,port)) while True: data=raw_input('Client_Send:') if not data: break s.send('Client said:%s' % data) recver=s.recv(2048) if not recver: break print recver s.close()
这仅仅是一个很简单超简单的程序,缺点如下:
1.半双工通信
2.太简单了!没用!
所以说...还得努力改进!
!