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.太简单了!没用!

所以说...还得努力改进!

!
原文地址:https://www.cnblogs.com/LittlePythoner/p/2853283.html