网络编程---scoket--Tcp例子

例子一、根据用户输入的内容判断是否存在,然后给出答复,要求输入Q可以退出;

import socket
from socket import SOL_SOCKET,SO_REUSEADDR
sk = socket.socket()
sk.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)#就是它,在bind前加

# sk.bind(('IP','Port'))  绑定IP 和端口
sk.bind(('127.0.0.1',8080))
sk.listen() # 监听

conn,addr = sk.accept()# 接受传过来的信息  会传过来一个connection 和address

F = True
while F:
    l = ['吃饭','','Hi']
    ret = conn.recv(1024).decode()
    print(ret)
    if ret in l:
        conn.send(bytes('我收到了!',encoding='utf-8'))
    elif ret == 'q' or ret =='Q':
        conn.send(b'Bye!!')
        F = False
    else:
        conn.send(b" Please input again!")

conn.close() # 结束通信

sk.close() # 关闭通信端口
Server端
import socket
sk = socket.socket()

sk.connect(('127.0.0.1',8080))

# sk.send(b'Hello')
# ret = sk.recv(1024)
# print(ret)
F = True
while F:
    msg = input('Out go input Q or q ,I want to speak :')
    if msg == 'q'or msg == 'Q':
        sk.send(bytes(msg,encoding='utf-8'))
        ret = sk.recv(1024)
        print(ret.decode())
        F =False
    else:
        sk.send(bytes(msg,encoding='utf-8'))
        ret = sk.recv(1024)
        print(ret.decode())

sk.close()
Client端

例子二、客户端隔十秒发送一时间搓,服务端根据时间搓返回一个格式化时间;

#加入一条socket配置,重用ip和端口
import socket
import time
from socket import SOL_SOCKET,SO_REUSEADDR
sk = socket.socket()
sk.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)#就是它,在bind前加

# sk.bind(('IP','Port'))  绑定IP 和端口
sk.bind(('127.0.0.1',8080))
sk.listen() # 监听

conn,addr = sk.accept()# 接受传过来的信息  会传过来一个connection 和address


while True:
    ret = float(conn.recv(1024).decode())
    print(ret)
    t = time.strftime("%Y-%m-%d %X",time.localtime(ret))
    conn.send(bytes(t,encoding='utf-8'))

conn.close() # 结束通信

sk.close() # 关闭通信端口
Server端
import socket
import time
sk = socket.socket()

sk.connect(('127.0.0.1',8080))

while True:
    t = str(time.time())
    print(t)
    sk.send(bytes(t,encoding='utf-8'))
    ret = sk.recv(1024).decode()
    print(ret)
    time.sleep(10)


sk.close()
Client端

 

posted on 2019-05-02 13:59  Jerry-Wang  阅读(157)  评论(0)    收藏  举报