python27
1、servertest.py
#!/usr/bin/python # -*- coding: utf-8 -*-
这两行在命令行执行时必须有,否则会报错
http://python.org/dev/peps/pep-0263/ 具体错误见此解释
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import sys
#简单的服务器实例
#创建socket对象
import socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#获取本地主机名
host = socket.gethostname()
port=9998
#绑定端口号
serversocket.bind((host,port))
#限制连接数
serversocket.listen(5)
while True:
clientsocket,addr=serversocket.accept()
prtstr="连接地址"+ str(addr)
print( prtstr.decode('utf-8').encode('utf-8'))
msg="hello, you are goodman!"+"\r\n"
clientsocket.send(msg.encode('utf-8'))
clientsocket.close()
serversocket.close()
执行完后记得关闭,否则下次再执行会报错
这是因为 端口被占用了,换个端口,或者把之前的kill掉
2、clienttest.py (客户端连接的端口要和服务端启动的端口一致,这样客户端发送时,服务端才能接收到)
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host= socket.gethostname()
# 设置端口号
port = 9998
# 连接服务,指定主机和端口
s.connect((host, port))
# 接收小于 1024 字节的数据
msg = s.recv(1024)
print (msg.decode('utf-8'))
s.close()
3、在windows下运行
cmd 命令,到py文件的路径。
然后分别两个窗口,一个server ,一个client 执行,server先执行
python servertest.py
python clientFile.py
客户端窗口:
服务端窗口接收到客户端消息后(等待下一次客户端请求)