看了一点点的《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.太简单了!没用!
所以说...还得努力改进!